운영체제

[운영체제] CPU 스케줄링 | FIFO에서 MLFQ까지, 스케줄링 정책의 발전과정 정리

들어가기 전에: 스케줄링은 왜 필요할까? 지난 글에서는 하나의 프로세스에서 다른 프로세스로 CPU의 제어권을 넘기는 low-level 메커니즘, 컨텍스트 스위치(Context Switch) 에 대해 알아보았다. 운영체제는 타이머 인터럽트(Timer Interrupt)와 같은 하드웨어의 도움을 받아 실행 중인 프로세스를 멈추고, 현재까지의 작업 상태(레지스터 값, 프로그램 카운터 등)를 PCB(Process Control Block)에 저장한 …

hyeon_B

[운영체제] CPU 가상화 | Logical Control Flow에서 Context Switch까지

지난 시간에는 디스크에 잠자던 프로그램이 어떻게 '프로세스(Process)'가 되는지 알아보았다. OS는 각 프로세스에게 마치 혼자 CPU와 메모리를 다 쓰는 듯한 환상, 즉 가상화(Virtualization) 를 제공한다고 했다. 오늘은 그중에서도 CPU 가상화의 핵심 원리인 Limited Direct Execution 에 대해 깊이 파고들어 보려 한다.

hyeon_B

[운영체제] 프로세스 | 프로그램이 실행되기까지의 여정

지난 시간 에는 운영체제의 세 가지 핵심 역할인 가상화, 동시성, 영속성에 대해 알아보았다. OS가 한정된 하드웨어 자원을 어떻게 추상화하여 여러 프로그램에 '내 것처럼' 쓸 수 있게 해주는지에 대한 이야기였다. 오늘은 그 '프로그램'이 실제로 어떻게 실행되는지, 디스크에 잠자고 있던 코드 덩어리가 어떻게 생명을 얻어 CPU 위를 뛰어다닐 수 있는지에 대한 여정을 따라가 보려 한다. 수업은 네 가지 핵심 질문으…

hyeon_B

[운영체제] 운영체제란? | Virtualization, Concurrency, Persistence 핵심 개념 이해

운영체제(Operating System) 수업의 첫 시간. 컴퓨터 과학의 근간을 이루는 과목이기에 늘 마음 한편에 제대로 공부해야 한다는 부담감이 있었다. 단순히 프로그램을 만드는 것을 넘어, 그 프로그램이 어떻게 컴퓨터 하드웨어 위에서 효율적이고 안전하게 동작하는지를 이해하는 것은 좋은 개발자, 나아가 좋은 제품을 만드는 창업가에게 필수적인 소양이라는 생각이 들었다. 운영체제는 무엇이고, 왜 필요할까? 첫 수업은 운영체제가 무엇이며, 어떤 …

hyeon_B
게시물 더보기
검색결과 없음