OS
-
6-2. Process Synchronization 2OS/운영체제 강의정리 2021. 12. 30. 20:17
6-2 Process Synchronization 2 Semaphores, Critical Section of n Processes, Block / Wakeup Implementation, Implementation, Two Types of Semaphores, Deadlock and Starvation, Dining-Philosophers Problem Semaphores 추상자료형 : Object와 Operation으로 구성됨 앞의 방식들을 추상화 시킴 공유자원을 획득하고 반납하는 것을 Semaphore가 처리해줌 Semaphore S : 정수값(integer variable)을 가질 수 있는데 그것이 자원의 개수라고 생각(즉 S가 5면, 자원이 5개있는것) P연산은 값을 획득하는 과정이고, V연산은..
-
6-1. Process Synchronization 1OS/운영체제 강의정리 2021. 12. 30. 20:06
6-1 Process Synchronization 1 데이터의 접근, Race Condition, OS에서의 race condition(3/3), Example of a Race Condition, The Critical-Section Problem, OS에서 race condition(1/3), If you preempt CPU while in kernel mode…, Initial Attempts to Solve Problem, 프로그램적 해결법의 충족조건, Algorithm 1, Algorithm2, Algorithm3(Peterson's Algorithm), Synchronization Hardware, Semaphores Initial Attempts to Slove Problem 두개의 프로세..
-
5-2. Process Synchronization 1OS/운영체제 강의정리 2021. 12. 30. 19:55
데이터의 접근 Race Condition race condition이란 두 개 이상의 프로세스가, 공용 데이터에 대한 접근이 어떤 순서에 따라 이루어졌는지에 따라 그 실행 결과가 같지 않고 달라지는 상황을 말한다. storage-box를 공유하는 execution-box가 여럿 있는 경우 경쟁상태 의 가능성이 있음 만약, CPU가 여러개가 있다면, 메모리를 공유하고 있다면, 하나의 CPU가 A라는 데이터를 읽어가는 동안에 또다른 CPU가 A라는 데이터를 읽어가면, Race-condition의 문제가 생길 수 있음 프로세스는 자기 자신만의 주소공간을 접근할 수 있지만, 공유 메모리를 사용할 수 있는 방법이 있는데 이런 상황에서도 문제가 생길 수 있음 운영체제 커널과 관련해서 생기는 문제가 가장 큰 문제임 ..
-
5-2. CPU Scheduling 2OS/운영체제 강의정리 2021. 12. 30. 19:49
5-2. CPU Scheduling 2 CPU-burst Time의 분포, Schedulling Algorithms, Round Robin(RR), Multilevel Queue, Multilevel Feedback Queue, Multi-Processor Scheduling, Real-time Scheduling, Example of Non-Preemptive SJF, Thread Scheduling, Algorithm Evaluation, Multilevel Queue 사용자와 상호작용하는 앞단의 프로세스들은 중요하다고 판단하고, 백그라운드에서 돌아가는 프로세스들은 상대적으로 덜 중요하다고 판단하여 분류! Ready queue를 여러개로 분할 foreground(interactive) backgrou..
-
5-1. CPU Scheduling 1OS/운영체제 강의정리 2021. 12. 30. 19:45
5-1. CPU Scheduling 1 CPU and I/O Bursts in Program Execution, CPU-burst Time의 분포, CPU Scheduler & Dispatcher, Scheduling Algorithms, Scheduling Criteria, FCFS(First- Come First-Served), SJF(Shortest-Job-First), Example of Non-Preemptive SJF, Example of Preemptive SJF, 다음 CPU Burst Time의 예측, Exponential Averaging, Priority Scheduling, Round Robin(RR), Example: RR with Time Quantum = 20, Turmarou..
-
4-1~2. Process Management 1,2OS/운영체제 강의정리 2021. 12. 30. 19:40
4-1 Process Management 1 프로세스 생성(Process Creation), 프로세스 종료(Process Termination) 4-2 Process Management 2 프로세스 생성(Process Creation), 프로세스와 관련한 시스템콜, 프로세스 간 협력, Message Passing, Interprocess communication, CPU and I/O Bursts in Program Execution, CPU-burst Time의 분포, 프로세스의 특성 분류, CPU Scheduler & Dispatcher 프로세스 생성(Process Creation) 부모 프로세스가 자식 프로세스 생성 (Copy-on-write(COW): write가 발생했을 때 copy해서 새로운걸..
-
3-2~3. Process 2,3OS/운영체제 강의정리 2021. 12. 30. 19:32
3-2. Process 2 동기식 입출력과 비동기식 입출력, 프로세스 스케줄링 큐의 모습, Thread Thread “A Thread(or lightweight process) is a basic unit of CPU utilization” :CPU를 수행하는 단위 Thread의 구성 Program Counter register set stack space Thread가 동료 thread와 공유하는 부분 (=task) code section data section OS resources 전통적인 개념의 heavyweight process는 하나의 thread를 가지고 있는 task로 볼 수 있다. 장점 응답성(Responsiveness) : 사용자 입장에서 빠른것 왜 ? 웹브라우저라는 하나의 프로그램이 ..
-
3-1. Process 1OS/운영체제 강의정리 2021. 12. 30. 19:25
3-1. Process 1 프로세스의 개념, 프로세스의 상태(Process State), 프로세스의 개념, 프로세스 상태도, Process Control Block(PCB), 문맥교환(Context Switch), 프로세스를 스케줄링하기 위한 큐, Ready Queue와 다양한 Device Queue, 스케줄러(Scheduler) 프로세스의 개념 “Process is a program in execution” 프로세스의 문맥(context) : 도대체 이 프로그램이 무엇을 어떻게 실행했는지, 정확히 현재 어떤 시점인지 나타내기 위한것 CPU 수행 상태를 나타내는 하드웨어 문맥 (Program Counter, 각종 register) 프로세스의 주소 공간(code, data, stack) 프로세스 관련 커널..