본문 바로가기

CS16

[OS] Scheduling: Introduction (Scheduling Policy들 정리) Scheduling운영체제 같은 시스템 소프트웨어는 mechanism과 policy라는 말을 사용합니다. 지금까지 Context Switching과 같은 mechanism, 즉 low-level의 기계에서 수행되는 방법에 대해 공부했는데, 어떤 근거, 판단 기준을 가지고 OS가 Context Switching을 하는지, 그 정책(policy)에 대한 것은 아직 다루지 않았습니다. 오늘 주제는 OS의 Scheduler가 수행하는 의사결정, 즉 알고리즘이라고 할 수 있는 정책에 대해서 알아봅시다 ! 근데 여러분 그거 아셨나요 ? 사실 스케줄링이라고 하는 것은 컴퓨터에서 처음 나온 개념은 아닙니다. 컴퓨터가 나오기 훨씬 이전부터 운영 관리 분야에서부터 존재해왔던 개념입니다. 사실 이 모든것은 일을 더 효율적으.. 2023. 11. 6.
[OS] CPU 가상화 메커니즘 (Limited Direct Execution) - 2부 이전글https://codingmon.tistory.com/68 [OS] CPU 가상화 메커니즘 (Limited Direct Execution) - 1부오늘 다룰 주제는 CPU의 가상화입니다. 운영체제는 여러 프로세스들이 동시에 실행되는 것처럼 보이도록 하기 위해 물리적인 CPU를 공유하도록 지원합니다. 바로 Time Sharing(시분할) 방법을 통해서codingmon.tistory.com2부에서 이야기할 주제는 저번 1부에서 말했듯이, 아직 해결되지 않은 프로세스 간 전환 방법과 그 해결책입니다 ! 힘내서 한번 가보겠습니다 ! 시작하기에 앞서 지금까지 과정을 살짝 요약해보자면 우선 CPU를 가상화하기 위해서는 Performance와 Control을 신경써야만 했습니다.그리고 우린 지난번에 Perfor.. 2023. 10. 31.
[OS] CPU 가상화 메커니즘 (Limited Direct Execution) - 1부 이전 글https://codingmon.tistory.com/37 [OS] Processes: Process, Process States, Process APIProgram 소스프로그램에서 컴파일에서 얻은 실행 파일을 말하고, 이것은 HDD, SDD 저장장치에 저장됩니다. 저장장치에 저장되어있던 프로그램이 실행되려면 메인 메모리로 loading되어야합니다. 어째codingmon.tistory.com오늘 다룰 주제는 CPU의 가상화입니다. 운영체제는 여러 프로세스들이 동시에 실행되는 것처럼 보이도록 하기 위해 물리적인 CPU를 공유하도록 지원합니다. 바로 Time Sharing(시분할) 방법을 통해서 말이죠. Time sharing이란 간단하게 말해서 일정 시간 동안 어떤 프로세스한테 CPU를 사용하게끔 .. 2023. 10. 31.
[OS] OS Overview (CPU가상화, 메모리 가상화, Concurrency, Persistence) Virtualizing CPU 오늘날 하나의 컴퓨터에서 돌아가는 프로그램은 매우 많습니다. 지금 당장 이 글을 쓰면서 제 노트북에는 Xcode, Chrome, Notion, Discord, 카카오톡 등등 정말 수 많은 프로그램들이 실행되고 있습니다. 하지만 이런 프로세스들을 실행시킬 CPU는 물리적으로 하나입니다. 정말 좋은 컴퓨터들이 많으면 CPU가 1,2개 더 있을 수 있지만 보통 1개입니다. 보통 물리적인 CPU는 한개지만, 멀티 코어라는 개념을 통해서 멀티스레딩의 효용을 우리는 겪고 있습니다. 그럼에도 오늘날 우리가 실행하고 있는 프로그램들에 비해 CPU의 개수가 부족한 것은 사실입니다. 이것이 "CPU의 가상화"를 하게된 계기입니다. 마치 CPU가 여러개 있어서 여러개 프로그램들이 동시에 실행되.. 2023. 10. 23.