운영체제 (11) 썸네일형 리스트형 03. 운영체제 - CPU Virtualization (2) Scheduling: Introduction 운영체제에서 스케줄링은 자원을 필요로하는 프로세스들에게 자원을 할당해주는 것을 말한다. CPU 스케줄링은 적절한 스케줄링 정책을 통해 프로세스들에게 CPU time을 할당해주는 것이다. 앞서 CPU Time sharing에 의해서 CPU Virtualization이 이루어진다고 하였는데, 이때 어떻게 CPU time을 나누어가질 것인지에 대한 것이 스케줄링이다. 그러면 어떤 지표에 근거해서 스케줄링을 수행해야할까? Scheduling Metrics Turnaround time (성능지표) : T(turnaround) = T(completion) - T(arrival) Fairness Turnaround time은 시스템에 job이 들어온 시간과 job이 완료된.. 02. 운영체제 - CPU Virtualization (1) CPU Virtualization - The Abstraction : The Process 운영체제는 많은 수의 virtual CPU가 존재하는 것과 같은 착각을 줄 수 있다. 이것은 Time sharing을 통해 이루어진다. Time Sharing : 한 프로세스를 돌리고, 잠깐 멈춰두고 다른 프로세스를 돌리고,, 반복 근데 이렇게하면 CPU에서 돌릴 프로세스를 바꿀 때 발생하는 context swiching에 의한 오버헤드가 있음.. Process 프로세스는 실행되고 있는 프로그램이다. 프로세스의 구성요소는 다음과 같다. CPU state (레지스터) Program counter Stack pointer General registers Memory (address space) instructions .. 01. 운영체제 Intro * Operating systems: Three easy pieces를 정리한 내용입니다. 운영체제 운영체제의 기능을 세가지 관점에서 설명한다. Virtualization : 시스템의 CPU, 메모리, 저장장치 등을 가상화하여 동작하는 프로그램이 시스템의 자원들을 혼자 사용하는 것처럼 만들어주는 것 Concurrency : 여러 개의 프로그램이 동시에 수행되더라도 안전하고 효율적으로 자원을 공유할 수 있도록 만들어주는 것 Persistence : 데이터를 찾기 쉽게 하기 위해 어디에, 어떤 형태로 저장할 것인지 정함 운영체제는 시스템이 정확하고 효율적으로 동작하도록 해야한다. Virtualization OS는 physical resource (프로세서, 메모리, 디스크 등) 들을 가상화하여 프로그램이 p.. 이전 1 2 다음