OS
-
스케줄링 알고리즘컴퓨터 과학/운영체제 2021. 8. 18. 03:07
FCFS(First-Come-First-Served) 이름 그대로 CPU를 먼저 요청한 프로세스가 CPU를 먼저 할당받습니다. 요청한 순서대로 처리됩니다. 만약 버스트 시간이 긴 프로세스가 요청을 앞서 했다면 평균 대기 시간이 길어집니다. 프로세스들이 처리 시간이 긴 프로세스가 CPU를 양도하기를 기다리는 것을 호위 효과(convoy effect)라고 합니다. 비선점형입니다. SJF(Shortest-Job-First) 최단 작업 우선 알고리즘입니다. CPU는 가장 작은 버스트를 가진 다음 프로세스에 할당됩니다. 프로세스 전체의 길이가 아니라 CPU의 버스트의 길이에 의해 스케줄링이 되기 때문에 Shortest-next-CPU-burst 알고리즘이라는 용어가 더 적합합니다. SJF 스케줄링 알고리즘은 프로..
-
페이징 정리 - 2컴퓨터 과학/운영체제 2021. 8. 8. 19:52
하드웨어 지원 대부분의 운영체제는 프로세스마다 하나의 페이지 테이블을 할당한다. 페이지 테이블의 하드웨어 구현은 여러 가지 방법이 있는데 간단한 방법은 레지스터를 이용하는 것이다. 하지만 이는 페이지 테이블이 작을 경우에만 가능하다. 32비트 환경의 시스템은 페이지 테이블의 항목이 1백만에 이른다. 페이지의 크기가 4kb일 때, 4gb 메모리를 가진 시스템에서 페이지의 수가 1백만이기 때문이다. 2^32 / 2^12 = 2^20 -> 1,048,576. 이러한 페이지 테이블을 레지스터를 이용해 구현하는 것은 적절하지 않다. 대부분의 컴퓨터는 페이지 테이블을 주 메모리에 저장하고 페이지 테이블 기준 레지스터(PTBR, Page Table Base Register)가 페이지 테이블을 가리키게 한다. 다른 페..
-
페이징 정리 - 1컴퓨터 과학/운영체제 2021. 8. 8. 17:42
기본 개념 외부 단편화를 해결할 수 있다. 메모리가 프로세스에 할당되고 해지되는 과정에서 생기는, 분산된 메모리 조각을 마치 연속된 공간인 것처럼 사용할 수 있다. CPU는 실제 메모리가 파편되어 있는지 알 수 없고 관심을 가질 필요도 없다. 페이지는 물리 메모리에 할당되는데, 물리 메모리의 할당 단위가 프레임이다. 페이지와 프레임은 같은 크기이다. 32bit cpu는 기본 연산 단위가 32bit이다. 포인터가 32bit(4byte)이므로 표현할 수 있는 주소의 수가 2^32개다. 이는 4,294,967,296개이다(약 42억). 32bit가 말 그대로 비트가 32개 있다는 것이고 1비트당 0, 1의 두 가지를 표현할 수 있기 때문이다. 데이터를 표현하는 기본 단위는 비트이지만 주소의 기본 단위는 바이트..
-
[CS] 운영체제개발/etc 2021. 5. 14. 09:52
프로세스 정의 - 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램. 프로그램의 인스턴스 - 스케쥴링의 대상이 되는 작업(task)이라는 용어와 거의 같은 의미 - 프로그램은 하드디스크 등에 저장되어 있는 실행코드를 뜻하고, 프로세스는 프로그램을 구동하여 메모리 상에서 실행되는 작업 단위 특징 - 프로세스는 각각 독립된 메모리 영역(code, data, stack , heap)을 할당받음 - 프로세스 당 최소 1개의 스레드를 지님 - 각 프로세스는 각기 다른 주소 공간에서 실행되고, 한 프로세스는 다른 프로세스의 존재를 모름 - 프로세스끼리 통신하려면 IPC(Inter process communication)을 사용해야 함(ex. 파이프, 파일, 소켓) 스레드 정의 - 프로세스 내에서 실행되는 흐름의 ..