stack(변수)

heap(동적할당)


I/O-bound process : I/O작업하는게 많을 때 (process가 실행되는게아니라 요청을 하는거)

CPU-bound process : CPU 계산을 더 많이 할 때 (ex.채굴)


프로세스 상태

Diagram of Process State

New: 만들어진 상태(실행되기 위해)

running: 실행되고 있는 상태

waiting: 아직 실행되지 않았고 실행할 예정이 아닐 수 있고 

ready: 실행될 준비가 되어서 준비중, 잠시 중지 (리눅스 ctrl+z)

terminated: 프로세스 종료되어 없어지기 직전인 상태


# waiting에서 바로 running으로는 가지 않는다.



PCB: Process control Block (구조체형태로 저장하는것이 PCB다)

Switch from Process to Process (스위치할때 저장해야할 값을 말한다.)

(idle 휴면상태)


Process scheduling queue

- job queue    

- ready queue    : CPU실행되길 기다리고

- Device queue   : 하드에서 읽고 쓰길 기다리는 것

queue(줄)


Scheduler

DISK -> Program

MEMORY -> Process

CPU -> TASK(실행)

 -> JOB (처리 대기)


Long-term scheduler    (Job Scheduler) :  Process에서 어떤거를 JOB으로 올릴지 결정한다.

Short-term scheduler    (CPU Scheduler) : JOB들중 어떤거를 CPU에 올릴지 결정한다.

Medium-term scheduler :  I/O랑 CPU사용이 어느정도 균일해져 사용되어야 System busy를 줄일수있다.


Long-> 메모리에서 CPU로 올리니까 길다고 생각

Short -> CPU에서 CPU니깐 상대적으로 짧다 메모리에서 CPU로 가는 것보다, 이렇게 생각하자


Context switch 

time is overhead(과부화) -> 하드웨어에 따라 달라진다. 


Process Creation(cont.)

fork() - 프로세스 복제 (부모와 자식으로 나눠져간다, 분기를 나눈다. ex)소켓프로그래밍)

fork의 리턴값이 0이면 자식이다.  -1(<0)은 오류(실패, 더이상 시스템의 리소스가 없을때).  


IPC: Inter-Process Communication (프로세스 사이에 의사소통 수단)

Shared memory

Message passing


//Producer-Consumer (공급과 소비자)

//Message Passing


Communications in client-Server Systems

Sockets

Remote Procedure Call

Pipes


소켓에 관한 고찰: 소켓이 포트에 매핑되는거지만 소켓과 포트는 다르다는 것. (제대로 정리해놓자)

프로그램(프로세스)에 포트번호가 있다, 2^16의 포트번호 0~65535


Thread에 관한 고찰




Context switch


preemptive VS nonpreemptive

SFJ Scheduling

>preemptive는 BurstTime이 작은것이 우선적으로 가져간다. 


Priority Scheduling

RR Scheduling 동일하게 








'WEB (Feat.FOO) > 강의노트' 카테고리의 다른 글

6. FOO의 똥꼬쇼  (0) 2017.01.23
5. FOO의 똥꼬쇼 정리  (0) 2017.01.16
3. FOO의 3번째 똥꼬쇼  (0) 2017.01.09
2. FOO의 똥꼬쇼 2번째  (0) 2017.01.04
1. FOO의 똥꼬쇼 강의노트  (0) 2017.01.02

+ Recent posts