프로세스 관련 함수Win32 APIUNIXCreateProcess();fork(); exec();ExitProcess();exit();WaitForSingleObject();wait(); 새로운 프로세스 생성OS는 프로세스 마다 가상메모리 공간을 할당한다.새로운 프로세스가 정상 작동하기 위해 가상 메모리 공간이 준비되어야 한다.Process + PCB + VMS(가상 메모리 공간)새로운 프로세스 생성 시 부모 프로세스(기존)와 자식 프로세스(새로운)로 관계가 형성된다. fork와 exec의 차이fork(): 새로운 프로세스를 위해 메모리를 할당한다, 기존 프로세스를 복사한다.exec(): 새로운 프로세스를 위해 메모리를 할당 하지 않고, exec()에 의해 호출된 프로세스만 메모리에 남게된다.fo..
프로세스의 상태프로세스의 상태는 전이한다.생성 → 준비 → 실행 → 완료생성 → 준비 → 실행 → 대기 → 준비 → 실행 → 완료 Ready Queue (준비 상태 큐)준비 상태의 프로세스(스레드)를 Queue에 가지고 있는다.OS가 T1, T2 등의 프로세스(스레드)를 디스패치하여 끄집어내서 실행프로세스가 I/O 요청 시 Device에서 응답 받을 때 까지 기다린다. = 대기 상태 = Blocking I/O요청한 프로세스의 실행상태가 유지됨 = 기다리지 않고 비동기적으로 한다. = Non Blocking I/O 프로세스의 Sleep(휴식) 과 Suspend(보류)Sleep(휴식) → 자발적 이탈 ( '나 좀 자러 갈게' )Suspend(보류) → 외부 요인에 의해 의도치 않게 이탈 ( '너 좀 비..
Process와 Thread의 차이프로세스(Process) = 관리의 단위 = 연산할 것프로세스 = 파일로 되어 있는 프로그램의 일부가 메모리에 적재된다. (실행되고 있는 프로그램)프로세스(작업)는 최소 1개의 스레드가 존재한다.스레드(Thread) = 1개 프로세스 내 개별화된 코드의 실행 흐름멀티 스레딩(Multi Threading) = 1개 프로세스 내 개별화된 여러 개의 실행 흐름 가상메모리에 할당된 공간OS는 Virtual Memory를 프로세스에 할당한다.프로세스에 속한 모든 스레드는 프로세스의 Virtual Memory로 공간이 제약된다.스레드는 실질적 연산의 주체멀티 스레딩 → 동시성 + 동기화 이슈프로세스 = 1 가구스레드 = 1 세대원Vurtual Memory = 1 가구가 존재하는 ..
컴퓨터의 구성 요소Computer = H/W + S/WS/W는 Applicaition과 System S/W로 구분된다.가장 대표적인 System S/W는 OS(Operating System)이다. 프로그램, 프로세스, 스레드프로그램은 설치하는 것이다. → 프로그램 = DISK 안에 파일로 저장되어 있다.설치된 프로그램을 실행하면 프로세스가 생성된다. → 프로세스 = 실행되고 있는 프로그램프로세스 = 파일로 되어 있는 프로그램의 일부가 메모리에 적재된다.스레드는 프로세스 속에 존재하는 실행 단위이다.스레드는 프로세스에게 할당된 자원을 공유한다. → 할당된 메모리를 공유프로세스는 최소 1개의 스레드를 갖는다.컴퓨터라는 세상에서 '나'는 프로세스라는 모습으로 존재한다.Shell = Window 탐색기 = 나..