운영체제
다른 사람에겐 하등 도움 안되는 나만 보는 정리
PCB, Schedulers, Threads, Context Switch
user-level thread
커널 레벨 쓰레드
스케줄링 알고리즘 전
FCFS, SJF, SRTF
RR, MQ, MFQ
프로세스동기화, 생산자/소비자 문제
critical section, 임계영역
임계영역2
베이커리 알고리즘, Semaphores
Blocked-Queue Semaphores 대기중인 프로세스를 FIFO큐에 넣고 기다린 순서대로 깨우는 것이다. P(S) V(S) Busy-Wait Semaphores 이전 포스트에서 언급한 세마포이다. P(S) 또는 Wait(S) V(S) 또는 Signal(S) spinlock이라고도 하는데 lock을 기다리는 동안 context swtich...
동기화의 고전적인 문제 Producer-Consumer Problem 두가지의 프로세스 타입이 있다. 생산자 내부 함수생산을 실행함으로써 이 프로세스들은 소비자에게 보내져야 할 데이터를 생산한다. 소비자 데이터를 받으면 이 프로세스들은 내부 함수소비에서 계산을 수행한다. 버퍼없이 생성시간, 소비시간이 같은 것을 동기화가 되어있다고 하는데, 기본적으로는 ...
데드락: 두개 이상의 프로세스가 제한된 리소스를 경쟁적으로 접근할 경우 발생한다. 어떤 프로세스가 절대 일어나지 않을 이벤트를 기다리는 것을 말한다. 위 그림에서 어느 한 프로세스가 자원을 놔줘야 다른 프로세스가 그 자원을 사용하는데 서로 그러한 상태에 빠져있으니 절대 일이 진행되지 않는다. deadlock 발생조건 Mutual Exclusion 상호배...
deadlock avoidance
1가지 타입의 리소스 데드락을 감지한다. 데드락을 예방하지 않고 탐지하면 그때 복구하는 방식이다. 자원할당 그래프와 비슷한 wait-for graph를 사용한다. 리소스 노드들에 있는 edge들을 제거하면서 프로세스들 간의 edge 하나로 합친다. Pi -> Pj : Pi가 필요한 리소스를 release하기를 기다림. Pi -> Pj 와 Pi -> Rq...
가상메모리 가상메모리: 컴퓨터 프로그래머가 무한의 메모리가 있는 것처럼 생각하게 하여, 메모리 제약에 대한 걱정 없이 프로그래밍할 수 있도록 하는 메모리 시스템 구성 개념 일반적으로, 임의의 프로그램이 얼마나 많은 메모리를 필요로 하는지 예측할 수 없다. 특히 multi-user multi-program, multi-task 시스템에서는 더욱 그러하다. ...
Page Fault 어떤 page 이건 한건 참조한 적이 있다면, 첫번째 참조는 반드시 O.S.에 page fault 를 야기시킨다. 이것이 발생하면 O.S.는 다음 중 어떤 경우인지를 판단하기 위해 valid-invalid bit 를 조사한다. invalid reference 이면 프로그램이 멈춘다. not-in-memory의 경우, backing s...
First-In-First-Out(FIFO) 알고리즘 가장 오랜시간 동안 메모리에 존재하고 있는 page frame을 victim page로 선택하는 방식. 메모리 상의 page들은 탑재되는 순서에 따라 들어오는 순서가 매겨진다. 구현이 용이하고, replace될 victim page를 선택하는 방법 또한 용이하다. 하나의 FIFO queue만 사용하여 구...
Address Binding 프로그램은 실행되기 위해 메모리 상에 레벨이 큰쪽에서 작은 쪽으로 올라와야 한다. Address Binding은 논리주소에서 물리주소로 맵핑하는 것이다. 소스 프로그램에서의 주소는 보통 변수 같은 기호로 나타내진다. 컴파일러를 거치면서 상징적인 주소에서 재지정 가능한 주소로 바뀌고 linker/loader를 거치면 재지정가능한 ...
Dynamic Storage Allocations available space list(사용가능 공간 테이블) 각 항목: 빈 블록의 시작주소, 크기 paging 기법을 사용한다면 블록 크기에 대한 정보가 없다. 일정하기 때문에 occupied space list(점유공간 테이블) 각 항목: 블록 이름, 시작주소, 블록크기 paging 기법을 사용한다면 크기...
Memory Hierachy 메모리는 계층구조로 구성된다. 2-level 메모리 계층 3-level 메모리 계층 n-level 메모리 계층 메모리 계층 i와 i+1 간에 다음 관계가 성립한다. Ci > Ci+1 : 레벨이 낮을수록 단위 메모리당 구축비용이 낮다. ti < ti+1 : 레벨이 낮을수록 평균 액세스 시간이 빠르다. Si