### Thread ### : 프로세스가 할당받은 자원을 이용하는 실행의 단위 : thread ID, PC(program counter), register set, stack으로 구성된다. : 여러 기능을 담당하는 module 들로 세밀하게 분할 할 수 있는 단위 => process(프로그램 하나를 돌리는 것)에서 여러 thread가 공통 code/ data/ os resource(open files and signal)을 공유합니다. 1. Singlethreading : traditional processes에서 사용된다. : request가 도착 할 때마다 새로운 process를 생성한다. 2. Multithreading : 하나의 process에서 운용하는 둘 이상의 thr..
### Process termination ### : 프로세스 종료 발생 대부분의 os에서 exit() 시스템 호출이 프로세스 종료에 사용됩니다.(process 끝) : os는 종료 될 process와 관련된 모든 resource를 할당 해제 합니다. : parent process 종료되면 모든 child proess를 종료해야 합니다. (계단식 종료, 순차적(폭포수) 종료) : 종료는 os에 의해 시작됩니다. 1. Zombie process(unerased process, ghost process) : child process가 종료되었지만 parent process가 child process의 종료 상태를 회수 하지 않았을 경우 child process를 zombie process ..
### Process creation ### : 다른 작업을 위해 시스템에서 process를 만든다(process 시작) : 프로세스는 fork()를 이용해 다른 process에 의해 생성 될수있습니다. (process 2개관리) : 시작 process를 제외한 fork() 시스템 호출을 실행 할 때 os의 모든 process (상위 process) : fork() 시스템 호출을 사용하여 os의 parent process에 의해 생성 된 process (하위 process, parent process 복사판) : process간 관계를 맺는 형태..
### Context Switching ### : *Multi-Processing에서 하나의 process가 실행되고 있는 상태에서 interrupt or system call에 의해 다음 우선순위의 process가 실행 되어야 할때 기존의 process의 상태 or register 값(Context)을 저장하고 cpu가 다음 process를 수행하도록 새로운 process의 상태 or register값(Context)를 교체하는 작업 : Switching time은 overhead이다. + : CPU가 해당 process를 실행하기 위한 해당 process의 정보들 : PCB에 저장된다. https://jeong-pro.ti..
### Process Scheduling ### : CPU에서 실행중인 process를 제거하고 특정 전략에 따라 다른 process를 선택하는 process 관리자의 활동 : multi-processing의 필수 부분 : OS는 각 process 상태에 대해 별도의 queue를 유지하고 동일한 실행 상태에 있는 모든 process의 PCB는 동일한 queue에 배치 된다 : process가 변경되면 PCB가 현재 대기열에서 연결 해제되고 새 상태 대기열로 이동한다. : CPU Utilization(사용률) Maximizes : Increase processing speed : interaction(상호작용) 제공 : 한 번에 둘 이상의..
### *Process Control Block(저장 공간) ### : 운영체제가 process를 관리하기 위한 구조체 : process 정보를 저장하기 위한 struct : 프로세스가 생성될 때마다 고유의 PCB가 생성되고 프로세스가 완료되면 PCB는 제거 된다. pointer: pcb가 저장되는 주소를 가리키는 것 process id: process에 할당되는 unique number process state: ready, running, waiting, terminated process priority: process의 우선순위 accounting: process를 관리할 때 참조해야하는 cpu 유지타임, 계정 정보 등 잡다한 정보 PC(Program Counter): 다음에 실행 해야 되는 i..
### Process ### : storage에 저장되어 있는 프로그램을 기반으로 해서 메모리에 올려서 실행실 킬 수 있는 instance, 객체 => 실행되고 있는 프로그램 : 단일 컴퓨팅 리소스에서 여러 프로세스가 실행할 때 (우선순위 process를 정해서 사용한다) : cpu utilization(이용률 최대화시킨다 -> 노는 자원 없애기 위해서) : user-interaction(process에 대해서 즉각적으로 받을 수 있어야 한다. ) : processing speed(프로세스를 최대한 빨리 처리할수록 컴퓨터가 좋은 성능을 가진다) text: 프로세스를 처리..
### ***System Call ### : 사용자 프로세스가 OS에게 권한있는 명령(하드웨어 조작 명령)을 수행하도록 요청하는 수단. : 시스템 호출은 정보(parameter)를 필요하기 때문에 사용한다. ex) 입력얻기 위해 메모리버퍼주소,길이,파일지정,장치지정 등등 1. via register, passing parameter : cpu register에다가 parameter 자체를 전달해서 운영체제가 받게하는 방법 : register 크기가 충분하지 않음 : parameter개수가 적을때 사용 2. via register, passing memory address of parameters : parameter을 메모리에 저장한 후 메모리 block 주소를 cpu register에다가 저장하..