목록Operating System (23)
topcue
Free-Space ManagementIntroductionAssumptionsLow-level MechanismsBasic StrategiesBest FitWorst fitFirst fitNext fitBuddy AllocationFree-Space ManagementIntroduction나중에 다룰 paging을 이용하면 메모리를 고정된 크기로 나누기 때문에 메모리 관리가 더 쉽다.free-space management가 어려운 이유는 user-level에서 malloc을 이용해 고정되지 않은 크기의 메모리를 할당하기 때문이다.바로 이런 이유 때문에 external fragmetation이 발생한다.external fragmentationfree space가 used space 사이사이에 존재하는 경..
ProblemsSegmentSegment 구분Coarse-grained vs Fine-grained Segmentation OS SupportProblemsBase & Bounds register를 이용해 relocate를 쉽게 구현할 수 있었다. 하지만 free된 공간을 비효율적으로 관리한다는 문제가 있다.그래서 segment라는 개념이 등장했다.Segment MMU에 한 쌍의 base bound register를 저장하는 게 아니라, address space의 logical segment마다 base bound register 쌍을 할당하는 것이 segmentation의 개념이다.이때 segment는 그냥 address space에서 연속적으로 존재하는 특정 길이의 공간을 의미한다. 이 segment..
The Abstraction: Address SpacesEarly SystemsMultiprogramming and Time SharingAddress SpaceVirtualizing memoryGoalMechanism: Address TranslationAddress TranslationHardware Support: SummaryOperating System IssuesSummaryThe Abstraction: Address SpacesEarly Systems예전에는 메모리 관점에서의 컴퓨터가 매우 단순했다.OS는 주소 0x0부터 자리하고 있고 프로세스는 단 하나만 돌아가므로, 메모리에서 OS 바로 아래 위치했다.Multiprogramming and Time Sharing프로세스들이 run할 준비가 ..
IntroductionScheduling MetricsScheduling methods(A) FIFO(First In, First Out)(B) SJF(Shortest Job First)(C) STCF(Shortest Time-to-Completion First)(D) RR(Round Robin)I/O Overlap(E) MLFQ(Multi-Level Feedback Queue)MLFQ (v.1 How To Change Priority)MLFQ ProblemMLFQ (v.2 The Priority Boost)MLFQ (v.3 Better Accounting: allotment)Tuning MLFQ And Other IssuesMLFQ SummaryProportional Share(F) Lottery sc..
Mechanism: LDE(Limited Direct Execution)Problem #1: Restricted OperationsProblem #2: Switching Between Processes메모Mechanism: LDE(Limited Direct Execution)PurposeCPU를 가상화하기 위해 OS는 물리적인 CPU를 이용해 여러 프로세스를 동시에 실행해야 한다.기본 아이디어는 간단하다. 한 프로세스를 잠시 실행하고, 다른 프로세스를 다시 실행하는 것을 반복하는 time sharing을 이용하는 것이다.이때 performance(추가적인 overhead를 줄이면서 virtualize)와 control(OS가 process를 어떻게 control 할 것인가)을 고려해야 한다.LDE(Lim..
The Abstraction: The ProcessInterlude: Process APIforkwaitexecThe Abstraction: The ProcessOS가 사용자에게 제공하는 가장 기본적은 추상화(abstraction)인 process에 대해 다룰 것이다.프로세스(Process)실행중인 프로그램(running program)Time sharing사용자가 여러 프로세스를 동시에 사용할 수 있도록 CPU를 할당하는 것.한 프로세스를 실행할 때 다른 프로세스를 잠시 멈추기를 반복하는 기술 (OS가 CPU를 virtualizing 하는 방법 중 하나)Mechanism vs Policy(이 둘을 명확하게 구분할 필요는 없어 보이지만, 교재에서는 종종 구분해서 언급한다.)mechanism: 어떤 일을 ..
A Dialogue on the BookIntroduction to Operating SystemsVirtualizing the CPUVirtualizing MemoryConcurrencyPersistenceDesign GoalsA Dialogue on the Book운영체제 수업을 듣고 공부한 내용을 정리하려 한다. 2년 전에 들었는데 정리는 이제야 한다..어색한 구어체, 오타, 오/의역이 있을 수 있다.pdf 원문을 읽을 것을 추천하며, 여기에서 무료로 배포한다.제목에 있는 Three easy pieces는 Virtualization(가상화), Concurrency(동시성), Persistence(영속성)을 뜻한다.이 세 가지 관점에서 OS가 어떻게 구현되었는지 쉽게 설명해 준다는 내용이다.Ch.2에..