목록분류 전체보기 (14)
떠도는..개발자 취준생
Process 프로그램을 실행은 디스크에 저장된 프로그램을 메모리에 로드하고, CPU는 메모리에 로드된 프로그램(명령어, 데이터)를 CPU 레지스터로 가져와 연산을 수행하는 것이다. 이처럼 디스크에 저장된 명령어와 데이터는 프로그램이라는 단위로 메모리에 로드되는데, 이처럼 메모리에 로드된 프로그램을 프로세스라고 한다. 이와 같은 프로세스는 task를 수행하기 위해서 CPU 사용 시간, Memory, Files, I/O Devices와 같은 컴퓨터 자원들을 사용하게 된다. 따라서 OS는 이와 같은 컴퓨터 자원들을 관리해주어야 한다. Memory Layout 프로세스는 위와 같은 레이아웃으로 메모리 공간을 할당받는다. 크게 명령어를 저장하는 Text와 데이터들을 저장하는 Data, Heap, Stack 공간..
IP주소 클래스 IP주소는 크게 네트워크 ID + 호스트 ID로 구성되어있다. 이러한 네트워크 ID와 호스트 ID의 크기를 조정하여 네트워크의 크기를 조정할 수 있다. 이처럼 네트워크 ID와 호스트 ID의 크기를 다르게 하여 다른 규모의 네트워크를 구성할 수 있으며, 이러한 네트워크의 크기를 클래스라는 가념을 사용해서 구분하고 있다. 네트워크 ID는 어떤 네트워크인지 나타내고 호스트 ID는 해당 네트워크 내의 어떤 컴퓨터인지 나타낸다. 그럼 호스트 ID의 표현 범위가 넓으면 해당 네트워크에 포함할 수 있는 컴퓨터의 범위가 넓어지는 것이다. A클래스는 24비트, B클래스는 16비트, C 클래스는 8비트가 호스트 ID의 범위로 해당 비트가 표현할 수 있는 주소 범위 만큼의 컴퓨터를 수용 가능하다. 서브넷 S..
운영체제 운영체제는 컴퓨터의 하드웨어를 관리하는 소프트웨어를 말한다. 운영체제는 컴퓨터에 전원이 들어올때 부트스트랩이라는 프로그램에 의해 실행되어 컴퓨터의 전원이 꺼질 때까지 실행된다. 컴퓨터의 모든 프로그램은 운영체제를 통해 컴퓨터 자원을 할당받아 사용하게 된다. 또한 프로그램이 실행되는 동한 제한된 컴퓨터 자원을 사용하고, 컴퓨터는 효율성을 극대화 하기 위해 동시에 여러개의 과제를 수행하기도 한다. 이러한 과정에서 여러 과제가 동시에 같은 자원을 사용하여 데이터의 값이 일관적이지 못하게 변경되거나 두 과제의 진행이 멈추는 등 다양한 문제들이 발생할 수 있다. 운영체제는 이와같은 다양한 문제들이 발생하지 않도록 방지하거나 발생하였을때 정상적으로 다시 시스템이 운영될 수 있도록 컴퓨터 자원을 운영하고 프..
정리 1. 에지의 가중치가 양수인 연결된 그래프에서 사용 2. 한 정점으로부터 연결된 모든 정점에 대한 최단 경로를 구하는 알고리즘 3. 욕심쟁이 알고리즘(Greedy Algorithm) V : 정점들의 집합 D[v] : 시작정점 s로부터 정점 v까지의 최단거리 S : 시작정점 s로부터 최단 경로를 찾은 정점들의 집합 다익스트라 알고리즘은 매 선택에서 최적의 답을 선택하여 적합한 결과를 도출하는 욕심쟁이 알고리즘을 기반으로 두고있다. 여기서 매 선택은 연결된 노드들 중 탐색을 할 노드를 선택하는 과정이며, 최적의 답은 연결된 노드들 중에서 거리가 최소인 노드이다. 다익스트라 알고리즘은 시작 노드를 기준으로 모든 노드의 최단 거리를 구하는 알고리즘으로 시작 노드의 거리를 0, 나머지의 거리는 무한으로 설정..
그래프의 정의 그래프는 정점(노드)와 간선(엣지)의 집합으로 이루어진 자료구조를 의미한다. 간선은 한 쪽 방향으로만 이동 가능한 단방향 그래프와 양 방향으로 모두 이동 가능한 무방향 그래프로 나뉘어진다. 그래프 용어 부그래프 그래프 G=(V,E)의 부그래프 G'=(V',E')은 V'는 V의 부분집합, G'는 G의 부분집합인 그래프를 의미한다. 완전그래프 완전그래프는 모든 정점 사이에 엣지가 있는 그래프이다. 연결그래프 그래프의 정점들 중 임의의 두 정점 u1,u2에 대하여 u1부터 u2까지의 경로가 존재하는 그래프이다. 만약 그래프가 단방향그래프이고 u1부터 u2까지의 경로가 존재한다면 해당 연결그래프를 강연결그래프라고 한다. 그래프 표현 그래프의 정접 집합 V={v0, v1, v2 ... v(n-1)}..
네트워크 계층의 역할 데이터 링크 계층은 같은 네트워크 내에 존재하는 컴퓨터간의 통신을 위한 모듈이다. 하지만 이것만으로는 다른 네트워크에 존재하는 수많은 컴퓨터들과는 통신할 수 없으며, 네트워크 간의 통신을 하기 위해서는 네트워크 계층의 역할이 필요하다. 네트워크 계층은 다른 네트워크에 존재하는 목적지 컴퓨터로 데이터를 전송하기 위해 IP주소를 사용하여 길을 찾고, 설정하여 다음의 라우터에게 데이터를 전달해주는 역할을 맡는다. IP 주소 LAN에서는 MAC 주소를 사용하여 컴퓨터간 통신이 가능했다. 하지만 MAC 주소를 사용하여 다른 네트워크로 데이터를 전송할 수 없다. 따라서 MAC 주소가 아닌 네트워크를 식별할 수 있는 다른 주소가 사용되며, 이를 IP 주소라고 한다. 인터넷에서는 이러한 IP주소를..