전공/운영체제 8

Chapter5 실시간 스케줄링

1. 실시간 CPU 스케줄링(Real-Time CPU Scheduling) 1) review 프로세스 1, 2, 3, ...n 이 ready queue에 존재하고 스케줄러가 하는 일은 이들 중 하나를 스케줄링하여 CPU 자원을 할당하고 프로세스는 시작된다. 프로세스에게 CPU를 할당하는 것은 디스패처가 하는 일이다. 그리고 ready queue에 있는 프로세스를 선택하는 것은 스케줄러가 하는 일이다. 스케줄링이라고 하는 것은 스케줄러가 프로세스를 선택하는 것인데 어떤 기준으로 선택하는 것인가? -> 전체 프로세스의 wating time즉 CPU 자원을 할당받아서 실제로 실행하는데까지 걸린 시간을 최소화할 수 있는 가준으로 선택한다. 각각의 프로세스의 wating time의 합 또는 평균이 최소화 할 수 ..

전공/운영체제 2022.06.27

Chapter5 스레드 스케줄링

1. 스레드 스케줄링 1) Contention Scope 코아가 1개라 가정하고 Contention Scope를 설명한다. 프로세스안에 스레드들이 존재하는데 스레드들을 스케줄링하는 것은 LWP(Light Weight Process)이다. 이는 kernel thread 에 존재하며(kernel thready의 개수만큼 존재) user Thread를 어떤 kernel thread로 연결할지 스케줄링해주는 프로세스이다. 예를 들어 사용자 모드의 스레드가 3개 커널도 3개(이는 LWP가 3개임을 의미)있다고 해보자. 사용자 모드에 있는 스레드3개 를 3개의 LWP3에 할당한다. 그리고 이 LWP를 스케줄링하여 CPU 자원을 할당하는 것이다. 여러 프로세스들 중 CPU 자원을 할당해서 실행하는 것이 목적이다. C..

전공/운영체제 2022.06.27

Chapter5 프로세스 스케줄링(Multilevel Queue, Multilevel Feedback Queue )

1. Multilevel Queue의 개념(선점형) ready Queue에는 5개의 종료가 있고 System processes가 가장 우선순위가 높다. 각 Queue들은 아래로 갈수록 우선순위가 낮아진다. 그리고 Multilevel Queue에서는 5개의 Queue간의 이동은 금지한다. system processes에 있는 P1, P2 프로세스와 interactive processes에 있는 프로세스 P3가 있을 때 P1과 P2는 우선순위가 같고 P1,P2가 P3 보다 우선순위가 높다. 그리고 system processes의 P1과 P2는 이들 간에서도 스케줄링을 통해 P1 또는 P2가 실행되게 된다. 그리고 낮은 우선순위 Queue에서 프로세스(Q1)가 실행되가가 상대적으로 더 높은 우선순위의 Queu..

전공/운영체제 2022.06.27

Chapter5 프로세스 스케줄링(Multilevel Queue Scheduling Algorithm을 위한 여러가지 알고리즘)

1. 프로세스 스케줄링 1) Multilevel Queue Scheduling Algorithm ● 개요 하나의 프로세스는 전형적으로 I/O 요청이 완료되기를 기다려야 할 때까지 실행된다. ready Queue는 프로세스 중에서 CPU 자원을 할당받고 언제든 실행이 가능한 상태들인 프로세스들이 대기하는 공간이다. CPU 스케줄링을 통하여 ready Queue에 있는 프로세스 중 하나를 CPU 자원을 할당 시키고 프로세스를 CPU 코어에서 실행하게 된다. (이를 run 상태라고 한다.) 만약 Run 상태인 프로세스가 I/O 작업이 발생하면 wating Queue에 프로세스의 PCB 정보를 넣음으로써 wating 상태로 만든다. 그리고 I/O작업이 종료되면 wating->ready 상태로 만든다. 스케줄링이..

전공/운영체제 2022.06.27

Chapter4 Thread

1. Thread 1) Thread Pool 개념 ● 스레스 풀을 사용하지 않을 때 문제점1 스레드를 통해 작업을 병렬적으로 처리하는데 스레드를 생성하고 스레드를 종료하는 마무리 작업이 시간이 많이 걸린다. 따라서 스레드라는 것이 작업보다 스레드를 생성하고 종료하는데 시간이 더 오래걸린다. ● 스레스 풀을 사용하지 않을 때 문제점2 모든 요청마다 새 스레드를 만들어서 서비스해 줄 때 최대 스레드 생성 개수를 지정해야하고 그렇지 않으며 언젠가 CPU 시간, 메모리 공간 등의 자원이 고갈된다. ● 스레드 풀이 뭐냐? 메모리에 일정한 수에 스레드를 미리 만들어 놓는다. 그리고 작업이 생기면 스레드 풀에 있는 스레드에 작업을 실어서 보낸다. 작업을 Queue에 넣고 Queue에 있는 작업들이 하나 씩 풀에 있는..

전공/운영체제 2022.06.27

Chapter3 Process

더보기 목차 1. 프로세스의 개념 2. 프로세스의 상태 3. 프로세스의 상태 정보는 어디에 기록하나? (PCB) 4. Schedulers 5. Context Switch 6. 프로세스의 생성 7. 프로세스의 종료 8. 프로세스 간의 통신 - IPC(Interprocess communication) 9. Remote Procedure Calls 10. Pipes 1. 프로세스의 개념 프로세스이란 무엇인지 프로세스의 스케줄링, 프로세스 간의 communication을 살펴본다. 프로세스는 공유 메모리 또는 메시지를 통해서 통신이 이루어진다. 1) 시분할의 개념 HDD에 있는 프로그램이 실행되면 메인 메모리에 load 되어 프로세스가 된다. 하지만 모든 프로세스가 실행 상태를 가지는 것이 아니라 CPU등 하드..

전공/운영체제 2022.05.05

Chapter2 운영체제 개요2(OS의 구조)

더보기 목차 1. 운영체제의 서비스 2. user Operation System Interface 3. System Calls이란? 4. 운영체제의 여러 구조 1. 운영체제의 서비스 사용자가 실행하는 프로그램이 보다 나은 환경에서 돌아감으로써 사용자에게 신뢰성과 편리성을 제공한다. 응용 프로그램은 사용자가 원하는 무엇인가를 제공해야하지만 사용자 프로그램이 신뢰성있게 돌아가게 하는 것이 os의 역할이다. 운영체제가 제공하는 서비스를 살펴보면, 사용자의 프로그램이 안정적으로 돌아갈 수 있도록 환경을 제공하는데 그런 기능을 세부적으로 나누면 ● System Call과 같은 User Interface 제공 거의 모든 OS에서는 사용자 인터페이스(UI)를 제공한다. 여러 형태 중 그래픽 사용자 인터페이스(GUI)..

전공/운영체제 2022.05.05

Chapter1 운영체제 개요1

더보기 목차 1. Device Controller와 Local Buffer 2. Interrupt Vector Table, Interrupt Service Routine 3. I/O Structure(buffered IO) 4. Cacing이란(with locality) 5. DeadLock 1. Device Controller와 Local Buffer I/O 디바이스의 처리와 CPU의 처리 작업은 동시(Parallelism)에 실행된다. os가 바라보는 device(키보드, 마우스 등)는 논리적 형태의 파일로 바라본다. 이 논리적 파일을 Device Controller라고 한다. 즉 os는 프로그램 형태로 Device를 바라본다. 또한 Device Controller는 local buffer를 가지고 ..

전공/운영체제 2022.05.05