운영체제 7

스케줄링 알고리즘

스케줄링 성능 평가 기준 평균 대기 시간 각 프로세스가 수행이 완료될 때까지 준비 큐에서 기다리는 시간의 합 평균값 평균 반환 시간 각 프로세스가 생성된 시점부터 수행이 완료된 시점까지의 소요시간 평균값 다양한 스케줄링 알고리즘 FCFS 스케줄링 First-Come First-Served. Queue와 같은 구조다. 비선점 스케줄링 알고리즘 비선점: 중간에 누가 CPU를 뺏어갈 수 없는 방식 준비 큐에 도착한 순서에 따라 디스패치 장점 가장 간단한 스케줄링 기법 단점 짧은 프로세스가 긴 프로세스를 기다리거나 중요한 프로세스가 나중에 수행될 수 있음. 프로세스들의 도착 순서에 따라 평균 반환시간이 크게 변한다. 이런 식으로 값이 주어진다면 가정하고 평균 대기 시간과 평균 반환 시간을 구해본다. 평균 대기 ..

Study/운영체제 2022.03.22

프로세스와 스레드

프로세스 프로세스는 ‘실행 중’인 프로그램 프로그램이 실행될 때 프로세스가 생성되고 PID를 부여받음. 프로세스를 생성하는 주체는 사용자가 될 수도 있고, 시스템이 될 수 있다. 프로그램과 프로세스는 동작을 하고 있는지, 하지 않고 있는지로 구분할 수 있다. 운영체제로부터 자원을 할당 받아 동작한다. 자원: CPU, Memory, IO, File 동작: CPU가 프로세스의 명령을 실행 사용자 및 시스템 프로세스가 존재 프로세스와 운영체제 프로세스 관리자 역할 프로세스를 생성 및 삭제 프로세스 실행(CPU 할당)을 위한 스케줄 결정 프로세스의 상태를 관리하며 상태 전이를 처리 프로세스의 상태 5-상태 모델(다섯 가지로 상태를 구분한 모델) 생성 처음 작업이 시스템에 주어진 상태. 즉, 프로그램을 이제 막 ..

Study/운영체제 2022.03.18

프로세스 스케쥴링 #2 멀티 프로그래밍

프로세스 스케쥴링 멀티 프로그래밍 멀티 프로그래밍의 목적 최대한 CPU를 많이 활용하도록 하는 시스템 시간 대비 CPU활용도를 높이자 애플리케이션을 짧은 시간 안에 실행 완료한다 멀티 프로그래밍 애플리케이션이 온전히 CPU를 쓰기보다 다른 작업을 중간에 필요로 하는 경우가 있다. 단순한 예를 들자면, 애플리케이션이 실행되다가 파일(저장 매체)을 읽는다거나 프린팅을 해야 한다고 했을 때 그동안 아무 일도 할 수 없도록 설계되어 있다면? 만약 어떤 애플리케이션을 실행하는데 걸리는 시간이 10초라고 해보자. 이 애플리케이션은 A와 B라는 작업을 하는데, 각각 3초씩 걸린다. 그런데 A를 실행할 때 파일을 읽는 작업이 추가로 실행되는데 그 시간이 4초다. 이 애플리케이션이 CPU를 점유하는 시간은 총 10초지만..

Study/운영체제 2021.03.10

프로세스 스케쥴링

프로세스 스케쥴링 배치 처리 시스템, 시분할 시스템, 멀티 태스킹 배치 처리 시스템 배치 처리 시스템은 순차적으로 애플리케이션을 실행하는 방법이다. 이 방식은 큐 Queue와 비슷하다. 배치 처리 역시 큐와 같이 먼저 등록한 애플리케이션을 먼저 실행하는 FIFO(First In First Out) 구조다. 장점 배치 처리 시스템은 여러 프로그램을 순차적으로 실행시키기 위한 요구사항을 달성하기 위해 만들어졌다. 실행해야 하는 프로그램을 등록해두면 배치 처리 시스템이 순차적으로 실행하기 때문에 매번 직접 프로그램을 실행하지 않아도 된다는 장점이 있다. 단점 애플리케이션을 순차적으로 실행한다. 애플리케이션B의 실행 시간이 1분이어도 12시간짜리 애플리케이션 뒤에 등록하면 실행하는데 12시간 1분 뒤에나 결과를..

Study/운영체제 2021.02.09

유저 모드와 커널 모드

운영체제 구조 사용자 모드와 커널 모드 CPU Protection Rings CPU도 권한 모드를 가지고 있다. 사용자 모드 (User mode) 응용 프로그램이 사용하는 모드. 커널 모드(kernel mode) 특권 명령어 실행과 원하는 작업을 수행하기 위한 자원에 접근 즉, OS가 제공하는 기능을 사용할 수 있게 해주는 권한 모드 커널(kernel)이란? OS 본연의 기능. 운영체제의 핵심 소프트웨어를 커널이라고 한다. 시스템 콜은 커널 모드로 실행 커널 모드에서만 실행 가능한 기능이 있음 커널 모드로 실행하려면 반드시 시스템콜을 거쳐야 한다. 시스템콜은 운영체제가 제공한다. 응용 프로그램이 운영체제의 기능을 사용하려면, 반드시 시스템 콜을 거쳐 커널 모드로 접근해야 한다. 응용 프로그램은 사용자 모..

Study/운영체제 2021.02.08

운영체제2 - 시스템 콜

응용 프로그램을 도서관에 비유 운영체제를 도서관에 빗대어 볼 수 있다. 운영체제 == 도서관 응용 프로그램 == 시민 하드웨어 == 책 시민은 도서관에 책을 요청하고, 도서관은 요청 받은 책을 대여한다. 시민은 책을 다 읽고 나면 도서관에 책을 반납한다. 이것을 운영체제로 치환하면 이렇다. 응용 프로그램은 운영체제에 필요한 하드웨어 자원을 요청한다. 운영체제는 요청 받은 하드웨어 자원을 응용프로그램에게 할당한다. 응용 프로그램은 할당 받은 자원으로 작업하고, 작업을 종료하면 다시 운영체제에게 하드웨어 자원을 반납한다. 응용 프로그램, 운영체제, 하드웨어의 관계 운영체제는 응용 프로그램이 요청하는 메모리를 허가/분배한다. 운영체제는 응용 프로그램이 요청하는 CPU시간을 제공한다. 운영체제는 응용 프로그래밍..

Study/운영체제 2021.02.07

운영체제1

운영체제 Operating System 역할 1: 시스템 자원 관리자 Operating System 또는 OS라고 부른다. 시스템 자원(System Resource) = 컴퓨터 하드웨어 CPU, Memory I/O Devices(입출력 장치) 모니터, 마우스, 키보드, 네트워크 저장매체 : SSD, HDD 컴퓨터 하드웨어는 스스로 할 수 있는 일이 없다. 1. CPU : 각 프로그램이 얼마나 CPU를 사용할지 결정할 수 없다. 2. Memory : 각 프로그램이 어느 주소에 저장되어야 하는지, 어느 정도의 메모리 공간을 확보해야 하는지 메모리 자체가 결정할 수 없다. 3.저장매체(HDD, SSD) : 저장 매체 자체는 어디에 어떻게 저장할 지 결정할 수 없다. 4.I/O Devices : 마우스 자체가 ..

Study/운영체제 2020.10.18