
이번 포스팅에서는 운영체제의 간단한 개념과 함께 운영체제의 특징과 종류에 대해서 알아보려고 합니다. 운영체제의 정의가 무엇인지에 대해 이야기하려고 하면 단어가 낯설고, 어려울 수 있습니다. 하지만 윈도우즈나 안드로이드, 맥과 같은 단어들은 많이 들어봤을 것입니다. 이러한 것들이 바로 운영체제 중 하나이며 우리가 실생활에서 사용하는 컴퓨터, 스마트폰에는 하나 이상의 운영체제가 있습니다. 운영체제의 정의 운영체제가 왜 필요한지에 대해서 먼저 알아보겠습니다. 위의 사진은 우리가 사용하는 컴퓨터나 스마트 폰의 계층 구조를 간단하게 나타낸 것입니다. 이러한 장치들의 가장 아래에는 하드웨어가, 가장 위에는 이 기기들을 이용하는 사용자가 있습니다. 사진에서도 볼 수 있듯이 사용자가 하드웨어에 접근하는 것은 쉬운 일이..

지난번 포스팅에서는 자료구조의 비선형 구조 중에서 트리에 대해 알아보았습니다. 이번에는 대표적인 비선형 구조인 그래프에 대해 알아보려고 합니다. 그래프와 트리의 관계를 간단하게 나타내자면 그래프가 트리보다 더 큰 범위라고 생각하면 됩니다. 그래프 중에서 사이클이 없는 그래프를 트리라고 이야기하며 이외의 형태를 그래프라고 칭합니다. 그래프와 트리의 몇 가지 차이점이 더 있는데 그것에 대해서는 "비선형 구조 트리" 글에 조금 더 자세히 정리해두었습니다. 지금부터 그래프의 간단한 용어 정리와 함께 그래프의 종류에 대해서 알아보겠습니다. 그래프의 정의 그래프는 정점(Node, Vertex)과 그 정점을 연결하는 간선(Edge)으로 이루어진 구조를 의미합니다. 위의 두 개의 사진 모두 그래프이며 그중 오른쪽처럼 ..

자료구조는 선형 구조와 비선형 구조로 분류를 할 수 있습니다. 지난번 포스팅에서는 선형 구조인 스택, 큐, 데크, 리스트에 대해 알아보았습니다. 이번에는 비선형 구조 중 트리에 대해 알아보려고 합니다. 트리와 그래프는 사이클의 유무에 따른 차이가 있습니다. 사이클이 있는 형태를 그래프라고 하며 그래프 중 사이클이 없는 형태를 트리라고 합니다. 실생활에서 떠올려 볼 수 있는 것은 트리는 조직 관계도, 그래프는 2호선 지하철 노선도, 통신망 정도 생각해볼 수 있겠습니다. 트리 트리의 정의에 대해 조금 더 살펴보겠습니다. 트리는 노드와 엣지를 사용해서 사이클이 없게 구성한 그래프이며 방향이 있는 방향 그래프입니다. 위 이미지에서 A를 루트 노드라고 하며 루트 노드는 트리에서 단 하나만 존재합니다. 또한 자식 ..

이번 포스팅에서는 OSI 7 계층(OSI 7 layer)의 구조 및 계층 별 기능에 대해서 알아보려고 합니다. 네트워크 공부를 처음 시작하면 거의 필수적으로 배우고 넘어가는 내용입니다. 네트워크와 관련된 내용을 더 깊게 공부하기 전에 전체적인 흐름을 알고 간다고 생각하면 될 것 같습니다. OSI 참조 모델 OSI 참조 모델은 ISO(국제표준화기구)에서 정의한 것입니다. 7개의 계층으로 나뉘어 있는 이 모델은 각각의 계층에 다른 시스템과의 통신을 위한 방법, 계층 별 기능, 사용 장비 등이 규정되어 있습니다. 1 계층부터 순서대로 물리 계층, 데이터링크 계층, 네트워크 계층, 전송 계층, 세션 계층, 표현 계층, 응용 계층으로 이루어져 있으며 각각의 계층은 하위 계층의 기능을 이용해 상위 계층에게 기능을 ..

이번 포스팅에서는 자료구조의 간단한 정의와 함께 자료구조 중에서 선형구조에 대해 알아보려고 합니다. 우리가 프로그램을 작성할 때 이 프로그램이 얼마나 저장공간을 효율적으로 사용하는지, 이 프로그램을 실행하는 데 있어서 오랜 시간이 걸리지 않는지에 관한 문제는 매우 중요합니다. 자료 구조는 데이터 사이의 관계나 데이터 처리 방법, 데이터의 표현 및 관련 연산 등을 의미합니다. 상황에 맞추어 올바르게 선택한 자료구조는 프로그램의 효율성을 높여주게 됩니다. 자료구조를 이용해서 어떠한 자료를 오름차순 혹은 내림차순으로 정렬하거나, 원하는 데이터만 검색할 수 있으며 특정 자료를 빠르게 찾기 위한 인덱싱 등을 할 수 있습니다. 이러한 자료구조는 선형 구조와 비선형 구조로 나뉘는데 지금부터 선형 구조의 종류와 각각의..