728x90

운영체제 62

24.03.03 운영체제, 백준

운영체제 6. 스케줄링 : 멀티 레벨 피드백 큐(MLFQ : Multi-Level Feedback Queue) 멀티 레벨 피드백 큐 스케줄러는 Compatible Time-Sharing System(CTSS)에 사용된다. MLFQ가 해결하려고 하는 기본적인 문제는 두 가지이다. 첫째, 짧은 작업을 먼저 실행시켜 반환시간을 최적화 하고자 한다. 둘째, 응답 시간을 최적화한다. 6.1 MLFQ : 기본 규칙 MLFQ는 여러 개의 큐로 구성되며, 각각 다른 우선 순위(Priority level)가 배정된다. 실행준비가 된 프로세스는 이 중 하나의 큐에 존재한다. MLFQ는 실행할 프로세스를 결정하기 위하여 우선순위를 사용한다. 높은 우선 순위를 가진 작업이 선택된다. 큐에 둘 이상의 작업이 존재 할 수 있다...

운영체제 7. 스케줄링 : 비례 배분 (Proportional Share) 스케줄러, 공정 배분(fair share) 스케줄러

7. 스케줄링 : 비례 배분 (Proportional Share) 스케줄러, 공정 배분(fair share) 스케줄러 반환 시간이나 응답시간을 최적화 하는 대신 스케줄러가 각 작업에게 CPU의 일정 비율을 보장하는 것이 목적이다. 비례 배분 스케줄링의 좋은예로 추첨 스케줄링(lottery scheduling)이 있다. 기본 아이디어는 다음 실행될 프로세스를 추첨을 통해 결정하고 더 자주 수행되어야 할 프로세스는 당첨기회를 더 많이 주는 것이다. 7.1 기본 개념 : 추첨권이 당신의 지분이다. 추첨권(티켓)이라는 기본적인 개념이 추첨 스케줄링의 근간을 이룬다. 추첨권은 경품권의 개념과 유사하다. 추첨권은 특정 자원에 대한 프로세스에게(또는 사용자 또는 그 무엇이든) 할당될 몫(지분)을 나타낸다. 프로세스가..

책/운영체제 2024.03.03

운영체제 6. 스케줄링 : 멀티 레벨 피드백 큐(MLFQ : Multi-Level Feedback Queue)

6. 스케줄링 : 멀티 레벨 피드백 큐(MLFQ : Multi-Level Feedback Queue) 멀티 레벨 피드백 큐 스케줄러는 Compatible Time-Sharing System(CTSS)에 사용된다. MLFQ가 해결하려고 하는 기본적인 문제는 두 가지이다. 첫째, 짧은 작업을 먼저 실행시켜 반환시간을 최적화 하고자 한다. 둘째, 응답 시간을 최적화한다. 6.1 MLFQ : 기본 규칙 MLFQ는 여러 개의 큐로 구성되며, 각각 다른 우선 순위(Priority level)가 배정된다. 실행준비가 된 프로세스는 이 중 하나의 큐에 존재한다. MLFQ는 실행할 프로세스를 결정하기 위하여 우선순위를 사용한다. 높은 우선 순위를 가진 작업이 선택된다. 큐에 둘 이상의 작업이 존재 할 수 있다. 이들은 ..

책/운영체제 2024.03.03

24.03.02 운영체제, 백준, PintOS

운영체제 5. 스케줄링 : 개요 5.1 워크로드에 대한 가정 프로세스가 동작하는 일련의 행위를 워크로드(Work load)라 한다. 워크로드에 대한 이해도가 높을수록 그에 최적화된 스케줄링 정책을 정교하게 개발할 수 있다. 우리는 시스템에서 실행 중인 프로세스 혹은 작업(job)에 대해 다음과 같은 가정을 한다 모든 작업은 같은 시간동안 실행된다. 모든 작업은 동시에 도착한다. 작업은 일단 시작하면 최종적으로 종료될 때 까지 실행된다. 모든 작업은 CPU만 사용한다.(즉, 입출력을 수행하지 않는다.) 각 작업의 실행시간은 사전에 알려져 있다. 5.2 스케줄링 평가 항목 스케줄링 정책의 평가를 위해 스케줄링 평가항목(Scheduling metric)을 결정해야 한다. 반환시간은 (turnaround tim..

운영체제 5. 스케줄링 : 개요

5. 스케줄링 : 개요 5.1 워크로드에 대한 가정 프로세스가 동작하는 일련의 행위를 워크로드(Work load)라 한다. 워크로드에 대한 이해도가 높을수록 그에 최적화된 스케줄링 정책을 정교하게 개발할 수 있다. 우리는 시스템에서 실행 중인 프로세스 혹은 작업(job)에 대해 다음과 같은 가정을 한다 모든 작업은 같은 시간동안 실행된다. 모든 작업은 동시에 도착한다. 작업은 일단 시작하면 최종적으로 종료될 때 까지 실행된다. 모든 작업은 CPU만 사용한다.(즉, 입출력을 수행하지 않는다.) 각 작업의 실행시간은 사전에 알려져 있다. 5.2 스케줄링 평가 항목 스케줄링 정책의 평가를 위해 스케줄링 평가항목(Scheduling metric)을 결정해야 한다. 반환시간은 (turnaround time) 작업..

책/운영체제 2024.03.02

24.03.01 운영체제, 백준, KEYWORD

운영체제 3. 제한적 직접 실행 원리(Limited Direct Execution) CPU를 가상화하기 위해서 운영체제는 여러 작업들이 동시에 실행되는 것처럼 보이도록 물리적인 CPU를 공유한다. 이러한 가상화 기법을 구현하기 위해서는 두 가지 문제를 해결해야 한다. 성능저하 제어문제 제어권을 유지하면서 성능 저하가 없도록 하는 것이 운영체제를 구축하는데 핵심적인 도전 과제이다. 3.1 기본원리 : 제한적 직접 실행 운영체제 개발자들은 프로그램을 빠르게 실행하기 위하여 제한적 직접 실행이라는 기법을 개발했다. 운영체제가 프로그램을 실행하기 시작할 때 프로세스 목록에 해당 프로세스 항목을 만들고 메모리를 할당하면 프로그램 코드를 디스크에서 탑재하고 진입점을 찾아 그 지점으로 분기하여 사용자 코드를 실행하기..

운영체제 4. 제한적 직접 실행 원리(Limited Direct Execution)

3. 제한적 직접 실행 원리(Limited Direct Execution) CPU를 가상화하기 위해서 운영체제는 여러 작업들이 동시에 실행되는 것처럼 보이도록 물리적인 CPU를 공유한다. 이러한 가상화 기법을 구현하기 위해서는 두 가지 문제를 해결해야 한다. 성능저하 제어문제 제어권을 유지하면서 성능 저하가 없도록 하는 것이 운영체제를 구축하는데 핵심적인 도전 과제이다. 3.1 기본원리 : 제한적 직접 실행 운영체제 개발자들은 프로그램을 빠르게 실행하기 위하여 제한적 직접 실행이라는 기법을 개발했다. 운영체제가 프로그램을 실행하기 시작할 때 프로세스 목록에 해당 프로세스 항목을 만들고 메모리를 할당하면 프로그램 코드를 디스크에서 탑재하고 진입점을 찾아 그 지점으로 분기하여 사용자 코드를 실행하기 시작한다..

책/운영체제 2024.03.01

24.02.28 운영체제, 백준

운영체제 2. 프로세스 프로세스는 실행 중인 프로그램으로 정의한다. 운영체제는 CPU를 가상화시켜 환상을 만들어 낸다. 시분할(time sharing)이라고 불리는 이 기법은 원하는 수 만큼 프로세스를 동시에 실행 할 수 있게 한다. 시분할 기법은 CPU를 공유하기 때문에 각 프로세스의 성능은 낮아진다. 운영체제의 지능은 정책(Policy)의 형태로 표현된다. 정책이란 운영체제에서 어떤 결정을 내리는데 사용되는 알고리즘이다. 다수의 실행 가능한 프로그램이 있을 때 운영체제의 스케줄링 정책(Scheduling Policy)이 이러한 결정을 내린다. 2.1 프로세스의 개념 운영체제는 실행 중인 프로그램의 개념을 제공하는데, 이를 프로세스라 한다. 프로세스의 구성요소를 이해하기 위해 하드웨어 상태(machin..

운영체제 3. 프로세스 API

3. 프로세스 API 3.1 fork() 시스템콜 프로세스 생성에 fork() 시스템 콜이 사용된다. 자식 프로세스는 부모 프로세스와 완전히 동일하지는 않다. 자식 프로세스는 자신의 주소공간, 레지스터, PC값을 갖는다 매우 중요한 차이점이 있다. fork() t시스템콜의 반환값이 서로 다르다. fork()로 부터 부모 프로세스는 생성된 자식 프로세스의 PID를 반환 받고, 자식 프로세스는 0을 반환 받는다. CPU 스케줄러는 실행할 프로세스를 선택한다. 3.2 wait() 시스템콜 wait() 시스템콜은 자식 프로세스 종료 시점까지 자신의 실행을 잠시 중지 시킨다. 3.3 exec() 시스템콜 자기 자신이 아닌 다른 프로그램을 실행해야 할 때 사용한다. 실행파일의 이름과 약간의 인자가 주어지면 해당 실..

책/운영체제 2024.02.29

운영체제 2. 프로세스

2. 프로세스 프로세스는 실행 중인 프로그램으로 정의한다. 운영체제는 CPU를 가상화시켜 환상을 만들어 낸다. 시분할(time sharing)이라고 불리는 이 기법은 원하는 수 만큼 프로세스를 동시에 실행 할 수 있게 한다. 시분할 기법은 CPU를 공유하기 때문에 각 프로세스의 성능은 낮아진다. 운영체제의 지능은 정책(Policy)의 형태로 표현된다. 정책이란 운영체제에서 어떤 결정을 내리는데 사용되는 알고리즘이다. 다수의 실행 가능한 프로그램이 있을 때 운영체제의 스케줄링 정책(Scheduling Policy)이 이러한 결정을 내린다. 2.1 프로세스의 개념 운영체제는 실행 중인 프로그램의 개념을 제공하는데, 이를 프로세스라 한다. 프로세스의 구성요소를 이해하기 위해 하드웨어 상태(machine sta..

책/운영체제 2024.02.29
728x90