안녕하세요 Pingu입니다! 이번 글에서는 멀티 프로세서에서 스케줄링하는 방법에 대해 알아보겠습니다. 제가 공부할 때 참고하고 있는 OSTEP 책에선 Chapter 10 - Multi-CPU Scheduling 부분입니다. 이번에 다룰 부분은 나중에 배울 Concurrency(동시성)을 공부 한 뒤에 보는 것이 가장 좋다고 하네요. 나중에 동시성을 공부한 뒤에 다시 보도록 해야겠습니다.Multiprocessor Scheduling (Advanced)요즘 나오는 CPU에 멀티 코어, 쿼드 코어, 헥사 코어 등을 광고하는 것을 보신 적이 있으신가요? 이렇게 요즘엔 멀티 프로세서 시스템이 보편화되고 있습니다. 이러한 CPU에서는 어떻게 스케줄링을 해서 사용해야 할까요?? 하나 이상의 CPU가 있으면 지금까지는..
안녕하세요 Pingu입니다! 저번 글에서 알아본 MLFQ 스케줄링 방법에 이어 이번 글에서는 스케줄러가 작업들에게 공평하게 CPU를 사용할 수 있도록 스케줄링하는 방법에 대해 알아보겠습니다. 제가 공부할 때 참고하고 있는 OSTEP 책에선 Chapter 9 - Lottery Scheduling 부분입니다. Scheduling: Proportional Share 이번 글에서는 아까 말한 대로 proportional share (비례 지분) 스케줄러에 대해 알아보겠습니다. 지금까지 알아본 FIFO, SJF, STCF, RR, MLFQ에서 고려하던 Turnaround time, Response time을 잠깐 뒤로하고 스케줄러의 또 하나의 비교 기준인 fairness(형평성)을 중점적으로 볼 계획입니다. 형평..
안녕하세요 Pingu입니다! 이번 글에서는 저번 글에 이어 운영체제에서 프로세스를 실행할 순서를 설계하는 Scheduling(이하 스케줄링)에 대해 알아보려고 합니다! 제가 공부할 때 참고하고 있는 OSTEP 책에선 Chapter 8 - Multi Level Feedback Queue 부분입니다. Multi-Level Feedback Queue 저번 글에서는 FIFO, SJF, STCF, RR와 같은 방법들을 알아봤습니다. SJF, STCF는 Turnaround Time이 좋지만 이를 사용하기 위해서는 프로세스의 수행 시간을 알고 있어야 했지만 알 수 없었습니다. RR과 같은 경우에는 Response Time은 좋지만 Turnaround Time은 아주 나쁜 성능을 보였습니다. 이런 문제들을 해결하기 위..
안녕하세요 Pingu입니다. 이번 글에서는 운영체제에서 프로세스를 실행할 순서를 설계하는 Scheduling(이하 스케줄링)에 대해 알아보려고 합니다! 제가 공부할 때 참고하고 있는 OSTEP 책에선 Chapter 7 - CPU Scheduling 부분입니다. 이번 글에서 배울 스케줄링 정책은 FIFO(First In First Out), SJF(Shortest Job First), STCF(Shortest Time-to-Completion First), RR(Round Robin)입니다. 그럼 바로 알아보겠습니다. Scheduling Introduction 이제 저희는 프로세스를 실행하는 low-level 메커니즘들을 알고 있습니다. 예를 들면 Context Switch 같은 녀석들입니다. 아직 이런 ..
안녕하세요! Pingu입니다~ 이번 글에서는 운영체제에서 Process라고 불리는 것에 대해 알아보려고 합니다. 제가 공부할 때 참고하고 있는 OSTEP 책에선Chapter 6 - Direct Execution부분입니다. Limited Direct Execution CPU를 가상화해야 하는 이유는 저번 글에서 알아봤습니다. 간단히 말하면 여러 개의 프로그램을 동시에 작동하기 위해 CPU 가상화가 필요했는데요, 이는 실제로는 Time Sharing기법으로 구현할 수 있었습니다. Time Sharing을 사용하여 CPU 가상화를 구현하려면 몇 가지 고려해야 할 점이 있습니다. 첫 번째는 Performance입니다. 시스템에서 가상화를 구현할 때 오버헤드 없이 구현하는 방법을 생각해야 합니다. 두 번째는 Co..
안녕하세요 Pingu입니다! 이번 글에서는 운영체제에서 Process라고 불리는 것에 대해 알아보려고 합니다. 제가 공부할 때 참고하고 있는 OSTEP 책에선 Chapter 4 - Processes 부분입니다. Process란? Process(프로세스)가 무엇일까요? 프로세스는 간단하게 말하면 현재 실행 중인 프로그램이라고 할 수 있습니다. 그렇다면 프로그램은 무엇일까요? 프로그램은 Disk에 저장되어있는 실행 가능한 것이라고 볼 수 있습니다. 컴퓨터는 이러한 프로그램을 메모리에 Load 하고 이를 CPU에서 처리합니다. 이러한 동작들이 잘 수행될 수 있도록 OS는 어떤 일을 어떤 방법으로 수행 중인지 알아보도록 하겠습니다. Multiple processes - 여러개의 프로세스를 동시에 동작시키는 방법..
안녕하세요 Pingu 입니다!🐧 운영체제에 대해 학교에서 배운 적이 있지만 시간이 조금 지나 다시 공부할 필요성을 느끼고 있어요... 마침 당시 교수님이 추천해주신 책인 Remzi 교수님이 만든 OSTEP이라는 책이 생각났습니다. 이 책은 인터넷에서 무료로 볼 수 있도록 만들어 놓았지만 아주 좋은 책이라고 추천해주셨기 때문에 이 책으로 다시 공부를 해보려고 합니다! 우선 책을 볼 수 있는 링크를 달아놓고 시작하겠습니다. OSTEP - Operating System Three Easy Pieces Operating Systems: Three Easy Pieces Blog: Why Textbooks Should Be Free Quick: Free Book Chapters - Hardcover - Softco..
- Total
- Today
- Yesterday
- 자료구조
- mac
- Xcode
- OSTEP
- IOS
- 앱개발
- design
- 백준
- 문법
- document
- dfs
- DP
- System
- operator
- Publisher
- OS
- 알고리즘
- 스위프트
- Swift
- 프로그래밍
- pattern
- 동시성
- BFS
- 테이블뷰
- 코테
- operating
- Combine
- 코딩테스트
- 아이폰
- Apple
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |