본문 바로가기
반응형

운영체제6

06. Process Scheduling(2) Scheduling CriteriaCPU utilzationCPU를 바쁘게 유지시킨다.Throughput단위 시간당 완료된 프로세스의 개수Turnarount time프로세스의 제출 시간과 완료 시간의 간격Waiting timeready queue에서 대기하면서 보낸 시간의 합Response time응답이 시작되는 데까지 걸리는 시간FCFS/FIFOCPU를 먼저 요청하는 프로세스가 CPU를 먼저 할당받는 스케줄링 알고리즘.Typically, non-preemptive(비선점형)no starvationFIFO(선입선출)큐로 쉽게 관리할 수 있다.Problem : Convoy effect(호위 효과)모든 다른 프로세스들이 하나의 긴 프로세스가 C.. 2024. 4. 24.
05. Process Scheduling What is Process Scheduling?시스템에는 여러개의 프로세스가 있고, 각 프로세스는 고유한 address space를 가진다.OS는 각각의 프로세스가 마치 자체 CPU와 memory가 있는것처럼 만든다.(illusion)목적 : 프로세스들 사이에서 CPU 코어를 빈번하게 교체하는 것Provide concurrency(동시성 제공)이 목적을 달성하기 위해 프로세스 스케줄러는 코어에서 실행 가능한 여러 프로세스 중에서 하나의 프로세스를 선택한다.프로세스 스케쥴링을 배우는것은 다음을 배우는 것을 의미한다.프로세스들 간의 switch 방법스케쥴링 할 사용 가능한 프로세스들을 찾거나 관리하는 방법실행할 다음 프로세스를 선택하는 방법Parallelism vs. Con.. 2024. 4. 24.
04. Inter-Process Communication Inter-Process Communication(프로세스 간 통신) 시스템 내의 프로세스들은 independent 하거나 cooperative 할 수 있다. Independent process 다른 프로세스의 실행에 의해 영향을 받거나 영향을 주지 않는 프로세스 Cooperating process 다른 프로세스들에 의해 영향을 받거나 줄 수 있다 프로세스 협력을 허용하는 환경을 제공하는 데에는 몇가지 이유가 있다. 정보 공유 계산 가속화 모듈성 시스템 기능을 별도의 프로세스들 또는 스레드들로 나누어 모듈식 형태로 시스템을 구성 Signal 프로세스에게 전달되는 software interrupt 신호 (특정 event에 의해 생성됨) 모든 signal에는 각 signal을 처리하는 signal handl.. 2024. 4. 18.
03. System Call System Call 일반 user mode에서 동작하다가 CPU가 interrupt를 받으면 CPU는 kernal mode로 바꾸고 발생한 interrupt에 따라 작업을 한다. 즉, interrupt가 발생하면 user mode -> kernal 모드로 transition이 일어난다고 할 수 있다. kernal mode로 전환되는 방법중 interrupt가 아닌 다른 방법이 바로 System Call이다. system call이란 운영체제가 제공하는 서비스를 부르기 위한 프로그래밍 인터페이스 라고 정의할 수 있다. 보통 API를 통하여 호출된다. 특정 low-level 작업(예:하드웨어를 직접 접근하는 작업)은 assembly 명령을 사용하여 작성되어야 하더라도 이러한 Call은 일반적으로 C와 C+.. 2024. 4. 3.
02. Processes What is a Process? 프로세스란 실행 중인 프로그램을 말한다. 한 프로그램이 여러 processes가 될 수 있다. 각각의 프로세스는 고유한 process ID(PID)가 있다. From Program to Process 각각의 process는 고유한 address space를 가진다. 프로세스의 메모리 배치는 일반적으로 다음과 같은 section으로 구분된다. 각 섹션에는 다음이 포함된다. Text section : 실행 코드 Program Counter($PC)라는 레지스터는 현재 실행 중인 명령어를 가리킵니다. Data section : 전역 변수 Heap section : 프로그램 실행 중(run time)에 동적으로 할당되는 메모리 Stack section : 함수를 호출할 때 임시.. 2024. 4. 3.
01. Introduction to Operating Systems Why study operating systems? 컴퓨터 과학에 종사하는 사람은 많지만 운영체제를 만들거나 수정하는 데는 소수만이 참여한다. 그렇다면 왜 운영체제와 그 작동방식을 공부할까? 단순하게 모든 코드가 운영체제 위에서 실행되므로 운영체제 작동방식에 대한 지식은 적절하고 효율적이며 안전한 프로그래밍에 중요하기 때문이다. 운영체제의 기본 지식, 컴퓨터 하드웨어 구동 방식 및 응용 프로그램에 제공하는 내용을 이해하는 것은 운영체제를 작성하는 사람들에게 필수적일 뿐만 아니라 그 위에서 프로그램을 작성하고 운영체제를 사용하는 사람들에게도 매우 유용하다. 폰 노이만 구조(von Neumann architecture) 폰 노이만이라는 사람이 제시한 프로그램 내장 방식이다. 현재 모든 컴퓨터는 폰 노이만 구.. 2024. 4. 2.
반응형