본문 바로가기

Dev.Basic

(54)
[OS] 4. Process Management Chapter 4. Process Management 누가 프로세스를 생성하는가?부모 프로세스가 자식 프로세스를 생성한다.부모 프로세스 하나가 여럿의 자식 프로세스를 생성할 수 있다.이는 트리 형태로 부모-자식 관계가 나타난다.프로세스는 기본적으로 CPU자원을 할당받고 본인의 일을 수행하는 숙명이다.결국 부모 프로세스로부터 생성된 자식 프로세스는 부모 프로세스와 CPU자원을 얻으려는 경쟁 구도가 형성된다.운영체제로부터 받은 CPU자원을 부모 프로세스와 공유하는 경우도 있지만,일반적으로는 공유하지 않는 모델로 서로 경쟁하는 구도가 형성된다. 그렇다면 부모 프로세스는 누가 생성하는가?사용자가 프로그램을 실행시키면 운영체제를 통해서 생성된다. 프로세스 생성과정자식은 부모의 공간을 복사한다.이를 복제 생성된다고..
[OS] 3-2. Process II / Thread란 무엇인가 / Thread 종류 Chapter 3-2. Process IIThreadA thread is basic unit of CPU utilization or lightweight process= Program counter, register set, stack spaceThread 끼리 공유하는 부분= code section, data section and OS resources 동일한 일을 하는 부분이 많은 프로세스를 여러 개 생성하는 것은 메모리 낭비이다. 그래서 프로세스는 하나만 생성하고 Program counter만 여러 개 생성한다. 즉 CPU수행 단위를 여러 개를 두는 것이다. 이것을 쓰레드(Thread)라고 한다. 각각 다른 Instruction을 수행하려면 Program counter 값이 존재해야 하고, 메모리에..
[OS] 3-1. Process I / 프로세스란 무엇인가 / Process Control Block / Scheduler Chapter 3-1. Process 프로세스란 무엇인가Process is program in execution프로세스란 현재 실행중인 프로그램을 말한다.그리고 이 프로세스를 구성하는 요소들을 프로세스의 문맥(process context) 프로세스의 문맥은 무엇을 말하는가1. CPU 수행 상태를 나타내는 하드웨어 문맥, Program Counter 등의 register들 값을 포함한다.PC는 다음에 수행할 명령어(code)의 위치에 대한 정보(주소값)를 담고 있다.CPU가 할당되었을 때, PC가 가리키는 부분부터 수행해나가면 되는 것이다. 2. 프로세스의 주소 공간을 포함한다.즉, code, data, stack 각각의 공간에 어떠한 값이 들어있는가를 나타내는 주소값을 포함한다.현재 변수의 값은 얼마인가..
[OS] 2-2. System Structure & Program Execution II Chapter 2-2. System Structure & Program Execution II 입출력 방식에는 두 가지로 나뉜다.동기식 입출력, 비동기식 입출력이다. synchronous I/OI/O 요청 후 입출력 작업이 완료된 후에어 제어권이 사용자 프로그램에 넘어가는 방식이다.동기식 입출력은 구현 방법에 따라서 또 두 가지로 나뉜다. 구현방법1>I/O 작업이 끝날 때까지 CPU를 갖고 있는다. 즉 반환하지 않는다.이렇게 되면 매 시점마다 하나의 I/O만 일어날 수 있으며 CPU의 낭비가 상당하다.구현방법2>I/O가 완료될 때까지 해당 프로그램에게서 CPU를 빼앗는다.I/O 처리를 기다리는 줄에 그 프로그램을 줄 세운다.그리고 다른 프로그램에게 CPU를 할당한다. asynchronous I/OI/O요..
[OS] 2-1. System Structure & Program Execution I Chapter 2. System Structure & Program Execution I 시스템의 구조와 프로그램의 실행에 대한 설명을 하기 위해 대략적인 도식을 나타내었다. CPU의 여정CPU내부에는 메모리보다 처리 속도가 빠른 Register라는 작은 공간이 존재한다.그 중 다음에 수행할 명령어를 저장하는 PC(Program Counter)라는 것이 있는데,이를 통해 다음 명령어를 수행하게 된다.Instruction 은 주로 4Byte이기 때문에 PC값은 명령어를 하나씩 수행할 때마다 4씩 증가하게 된다.CPU는 다음 수행할 명령어를 수행하기 전에 인터럽트가 들어온 게 있는지 확인한다.(Interrupt Line)인터럽트가 들어오면 현재 하고 있던 작업을 멈추고(이 때, 수행한 정도를 기억하게 되는데..
[OS] 1. Introduction to Operating System Chapter 1. Introduction to Operating System 운영체제란 무엇인가?운영체제란 컴퓨터 하드웨어 바로 윗단에 설치되는 소프트웨어이다. 좁은 의미에서는 커널을 의미한다. 커널이란 운영체제의 핵심 부분으로 메모리에 상주하는 부분이다. 여기서 메모리란 주기억장치 상의 Main Memory를 의미한다. 넓은 의미에서는 커널 뿐만 아니라 주변 시스템 유틸리티를 포함한 개념으로 말할 수 있다. 메모리에 상주하지 않고 독립적으로 실행되고 종료될 수 있는 프로그램들을 말한다. 운영체제란 왜 필요한 것인가? 존재의 목적은 무엇인가?일반 사용자들이 컴퓨터란 기계를 사용할 때, 하드웨어적인 요소를 모두 고려하면서 사용하게 된다면, 전문화된 고도의 지식을 필요로 할 것이다. 그러나 이 운영체제가 ..