-
[WEEK09]WILSW정글 2021. 12. 31. 00:56
Pintos 프로젝트 1주차동안의 배운 것!
개념 정리
운영체제에 대한 기본 개념강의를 들으며 내용을 이해하였다.
[강의 개념 정리]
https://seulgicoding.tistory.com/29?category=985032
1. Introduction to Operating Systems
1. Introduction to Operating Systems 운영체제란 무엇인가, 운영체제의 목적, 운영체제의 분류, 운영체제의 예, 운영체제의 구조 운영체제란? 컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든
seulgicoding.tistory.com
https://seulgicoding.tistory.com/30?category=985032
2-1. System Structure & Program Execution 1
2-1. System Structure & Program Execution 1 컴퓨터 시스템 구조, Mode bit, Timer, Device Controller, 입출력(I/O)의 수행, 동기식 입출력과 비동기식 입출력, 시스템콜(System Call), 인터럽트(Interrupt)..
seulgicoding.tistory.com
https://seulgicoding.tistory.com/31?category=985032
2-2. System Structure & Program Execution 2
2-2. System Structure & Program Execution 2 컴퓨터 시스템 구조, 인터럽트(Interrupt), 동기식 입출력과 비동기식 입출력, 시스템콜(System Call), DMA(Direct Memory Access), 서로 다른 입출력 명령어, 저장..
seulgicoding.tistory.com
https://seulgicoding.tistory.com/32?category=985032
3-1. Process 1
3-1. Process 1 프로세스의 개념, 프로세스의 상태(Process State), 프로세스의 개념, 프로세스 상태도, Process Control Block(PCB), 문맥교환(Context Switch), 프로세스를 스케줄링하기 위한 큐, Ready Queue..
seulgicoding.tistory.com
https://seulgicoding.tistory.com/33?category=985032
3-2~3. Process 2,3
3-2. Process 2 동기식 입출력과 비동기식 입출력, 프로세스 스케줄링 큐의 모습, Thread Thread “A Thread(or lightweight process) is a basic unit of CPU utilization” :CPU를 수행하는 단위 Thread의 구성..
seulgicoding.tistory.com
https://seulgicoding.tistory.com/34?category=985032
4-1~2. Process Management 1,2
4-1 Process Management 1 프로세스 생성(Process Creation), 프로세스 종료(Process Termination) 4-2 Process Management 2 프로세스 생성(Process Creation), 프로세스와 관련한 시스템콜, 프로세스 간 협력,..
seulgicoding.tistory.com
https://seulgicoding.tistory.com/35?category=985032
5-1. CPU Scheduling 1
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(Sho..
seulgicoding.tistory.com
https://seulgicoding.tistory.com/36
5-2. CPU Scheduling 2
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-P..
seulgicoding.tistory.com
https://seulgicoding.tistory.com/37?category=985032
5-2. Process Synchronization 1
데이터의 접근 Race Condition race condition이란 두 개 이상의 프로세스가, 공용 데이터에 대한 접근이 어떤 순서에 따라 이루어졌는지에 따라 그 실행 결과가 같지 않고 달라지는 상황을 말한다. storag
seulgicoding.tistory.com
https://seulgicoding.tistory.com/38?category=985032
6-1. Process Synchronization 1
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 w..
seulgicoding.tistory.com
https://seulgicoding.tistory.com/39?category=985032
6-2. Process Synchronization 2
6-2 Process Synchronization 2 Semaphores, Critical Section of n Processes, Block / Wakeup Implementation, Implementation, Two Types of Semaphores, Deadlock and Starvation, Dining-Philosophers Probl..
seulgicoding.tistory.com
https://seulgicoding.tistory.com/40?category=985032
6-3~4. Process Synchronization 3,4
6-3 Process Synchronization 3 Semaphores, Implementation, Classical Problems of Syncronization, Bounded-Buffer Problem, Readers-Writers Problem, Dining-Philosophers Problem, Monitor 6-4 Process Sy..
seulgicoding.tistory.com
https://seulgicoding.tistory.com/41?category=985032
7-1~2. Deadlocks 1,2
7-1 Deadlocks 1 교착상태(deadlock), The Deadlock Problem, Deadlock 발생의 4가지 조건, Resource-Allocation Graph(자원할당그래프), Deadlock Prevention, Deadlock의 처리 방법, Deadlock Avoidance, Resour..
seulgicoding.tistory.com
Pintos Project1 구현
Pintos Project1 주차 Alarm clock, Priority 를 구현하며 Thread가 무엇인지, 동기화를 하는 법, CPU의 자원이 할당되는 것에대해 배울 수 있었다.
동기화 방법에 대해서는 Semaphore, lock, monitor에 대해 구현해보며 개념을 더 깊게 이해할 수 있었다.
[TIL]
https://seulgicoding.tistory.com/24?category=985033
Project1 : Thread - introduction
Threads - Introduction 프로그램 프로그램과 프로세스의 차이 프로그램 : 생명이없음. 보조기억장치(하드디스크, SSD)에 존재하며 실행되기를 기다리는 명령어(코드)와 정적인 데이터 묶음 프로세스 :
seulgicoding.tistory.com
https://seulgicoding.tistory.com/30?category=985032
Project1 : Thread - introduction
Threads - Introduction 프로그램 프로그램과 프로세스의 차이 프로그램 : 생명이없음. 보조기억장치(하드디스크, SSD)에 존재하며 실행되기를 기다리는 명령어(코드)와 정적인 데이터 묶음 프로세스 :
seulgicoding.tistory.com
https://seulgicoding.tistory.com/23
Project1. Alarm clock
alarm : 호출한 프로세스를 정확한 시간 후에 다시 시작하는 커널 내부 함수 핀토스에서는 알람 기능이 busy waiting을 이용하여 구현 → sleep / wake up 다시 구현 busy waiting : thread가 CPU를 점유하면서 대
seulgicoding.tistory.com
https://seulgicoding.tistory.com/25?category=985033
Project1 : Thread - Priority Scheduling (1)
개념 Priority Scheduling (우선순위 스케쥴링) : 우선순위가 제일 높은 CPU에게 주겠다 ✅ 스레드가 현재 실행 중인 쓰레드보다 우선순위가 높은 준비 목록에 추가되면 현재 스레드는 즉시 프로세서를
seulgicoding.tistory.com
https://seulgicoding.tistory.com/26?category=985033
Project1 : Thread - Priority Scheduling(2)
Priority Scheduling and Synchronization 동기화 기본 연산 스케쥴링 방식 수정 여러 스레드가 semaphore, lock, condition variable을 얻기 위해 기다릴 경우 우선순위가 가장 높은 CPU를 점유하도록 구현 현재..
seulgicoding.tistory.com
https://seulgicoding.tistory.com/27?category=985033
Project1 : Thread - Priority Scheduling(3)
Priority inversion Problem 개요 과제 목표 Priority donation 구현 Multiple donation 구현 Nested donation 구현 개념 1. Priority donation : 우선순위가 높은 쓰레드가 우선순위가 낮은 쓰레드를 기다리는 현..
seulgicoding.tistory.com
'SW정글' 카테고리의 다른 글
[WEEK12]WIL (0) 2022.01.25 [WEEK10]WIL (0) 2022.01.11 [WEEK08]OS시작 마음가짐 (2) 2021.12.23 [WEEK01] 특별한 과제 (0) 2021.11.19