SlideShare a Scribd company logo
1 of 5
Download to read offline
프로세스 스케쥴링
멀티 프로그래밍
최대한 CPU를 많이 활용하도록 하는 시스템
응용 프로그램은 온전히 CPU를 쓰기 보다, 다른 작업을 중간에 필요로 하는 경우가 많다. 예를들어, 파일을 읽는다 가 있다.
비슷한 용어로는
시분할 시스템: 다중 사용자 지원, 컴퓨터 응답시간을 최소화하는 시스템
멀티 태스킹: 단일 CPU에서 여러 응용 프로그램을 동시에 실행하는 것처럼 보이게 하는 시스템
멀티 프로세싱: 여러 CPU에서 하나의 응용 프로그램을 병렬로 실행하게 해서, 실행속도를 높이는 기법
멀티 프로그래밍: 최대한 CPU를 일정 시간당 많이 활용하는 시스템
프로세스 (process) 란?
실행 중인 프로그램은 프로세스라고 함
즉, 응용 프로그램 =! 프로세스
응용 프로그램은 여러 개의 프로세스로 이루어질 수 있음
하나의 응용 프로그램은 여러 개의 프로세스(프로그램)가 상호작용을 하면서 실행될 수도 있음
스케쥴러 : 누가 프로세스 실행을 관리한다.
스케쥴링 알고리즘 : 어느 순서대로 프로세스를 실행시킬까?
FIFO 스케쥴러
프로세스가 저장매체를 읽는 다든지, 프린팅을 한다든지 하는 작업 없이,
쭉 CPU를 처음부터 끝까지 사용한다.
가장 간단한 스케쥴러 (배치 처리 시스템)
FCFS (First Come First Served) 스케쥴러 와 비슷하다
SJF(Shortest Job First- 최단 작업 우선) 스케쥴러
가장 프로세스 실행시간이 짧은 프로세스부터 먼저 실행을 시키는 알고리즘
RealTime OS(RTOS):
응용 프로그램 실시간 성능 보장을 목표로 하는 OS
정확하게 프로그램 시작, 완료 시간을 보장
(정확한 시간에 무조건 끝내야함 공장 등 시간에 민감함 곳에서 사용 - 현실에서는 안될 수도 있음)
Hardware RTOS, Software RTOS
General Purpose OS(GPOS):
프로세스 실행시간에 민감하지 않고, 일반적인 목적으로 사용되는 OS, 예: Windows, Linux등
우선순위 기반 스케쥴러 (Priority‑Based 스케쥴러)
정적 우선순위 : 프로세스마다 우선순위를 미리 지정
동적 우선순위 : 스케쥴러가 상황에 따라 우선순위를 동적으로 변경
Round Robin 스케쥴러
멀티프로그래밍과 Wait
멀티 프로그래밍 : CPU 활용도를 극대화 하는 스케쥴링 알고리즘
Wait : 간단히 저장매체로 부터 파일 읽기를 기다리는 시간으로 가정
프로세스 상태
running state : CPU에서 실행 상태
ready state : CPU에서 실행 가능한 상태(실행대기 상태)
block state : 특정 이벤트 발생 대기 상태 (예: 저장매체에서 파일을 읽는 중인 상태 등)
프로세스 상태 관계
프로세스가 러닝을 하다가 특정이벤트 대기를 한다.(파일 읽기)
Ready 상태에서 스케줄러에게 선택 받아 Running(실행) 된다.
Running 상태에서 특정한 시점이 되어, 다른프로세스로 변경하기 위해 Ready 상태로 바꾸어 준다.
스케줄러에게 Running 상태로 바꾸어도 된다고 알려주기 위해서 , Ready 상태로 바뀐다.
실제 예제

More Related Content

What's hot

[OS] Operating System 5 layer
[OS] Operating System 5 layer[OS] Operating System 5 layer
[OS] Operating System 5 layerssuserb2b4e71
 
운영체제 Chapter1
운영체제 Chapter1운영체제 Chapter1
운영체제 Chapter1YoungGun Na
 
운영체제 인트로
운영체제 인트로운영체제 인트로
운영체제 인트로Junnie Jobs
 
The course of operation of a computer
The course of operation of a computerThe course of operation of a computer
The course of operation of a computerminhee An
 
Preemption under Linux
Preemption under LinuxPreemption under Linux
Preemption under LinuxHoyoung Jung
 

What's hot (7)

[OS] Operating System 5 layer
[OS] Operating System 5 layer[OS] Operating System 5 layer
[OS] Operating System 5 layer
 
os question
os questionos question
os question
 
운영체제 Chapter1
운영체제 Chapter1운영체제 Chapter1
운영체제 Chapter1
 
운영체제 인트로
운영체제 인트로운영체제 인트로
운영체제 인트로
 
Merge revesed
Merge revesedMerge revesed
Merge revesed
 
The course of operation of a computer
The course of operation of a computerThe course of operation of a computer
The course of operation of a computer
 
Preemption under Linux
Preemption under LinuxPreemption under Linux
Preemption under Linux
 

Similar to 7 aaaaaaaaa

프로세스 관리
프로세스 관리프로세스 관리
프로세스 관리jeiger
 
Free rtos seminar
Free rtos seminarFree rtos seminar
Free rtos seminarCho Daniel
 
실무로 배우는 시스템 성능 최적화 8부 - 1,2,3장
실무로 배우는 시스템 성능 최적화 8부 - 1,2,3장실무로 배우는 시스템 성능 최적화 8부 - 1,2,3장
실무로 배우는 시스템 성능 최적화 8부 - 1,2,3장Sunggon Song
 
OS Process, Thread, CPU Scheduling에 대해 알아봅시다.pdf
OS Process, Thread, CPU Scheduling에 대해 알아봅시다.pdfOS Process, Thread, CPU Scheduling에 대해 알아봅시다.pdf
OS Process, Thread, CPU Scheduling에 대해 알아봅시다.pdfHo Jeong Im
 
14. no sql을 넘어
14. no sql을 넘어14. no sql을 넘어
14. no sql을 넘어kidoki
 
System Infra와 Recovery 그리고 DevOps
System Infra와 Recovery 그리고 DevOpsSystem Infra와 Recovery 그리고 DevOps
System Infra와 Recovery 그리고 DevOpsJuseok Kim
 
Linux programming study
Linux programming studyLinux programming study
Linux programming studyYunseok Lee
 
실무로 배우는 시스템 성능 최적화 - 4부. 프로세스 이해하기
실무로 배우는 시스템 성능 최적화 - 4부. 프로세스 이해하기실무로 배우는 시스템 성능 최적화 - 4부. 프로세스 이해하기
실무로 배우는 시스템 성능 최적화 - 4부. 프로세스 이해하기Minchul Jung
 
운영 체제 Sig
운영 체제 Sig운영 체제 Sig
운영 체제 SigYoungGun Na
 
Python study 1강 (오픈소스컨설팅 내부 강의)
Python study 1강 (오픈소스컨설팅 내부 강의)Python study 1강 (오픈소스컨설팅 내부 강의)
Python study 1강 (오픈소스컨설팅 내부 강의)정명훈 Jerry Jeong
 
프로세스
프로세스프로세스
프로세스xxbdxx
 
Rankwave moment™ desc3
Rankwave moment™ desc3Rankwave moment™ desc3
Rankwave moment™ desc3Sungwha Shim
 
Rankwave MOMENT™ (Korean)
Rankwave MOMENT™ (Korean)Rankwave MOMENT™ (Korean)
Rankwave MOMENT™ (Korean)HyoungEun Kim
 
Process (프로세스의 개념, 특징, 정의)
Process (프로세스의 개념, 특징, 정의)Process (프로세스의 개념, 특징, 정의)
Process (프로세스의 개념, 특징, 정의)ssuserd5354e
 
Why OpenStack is Operating System?
Why OpenStack is Operating System?Why OpenStack is Operating System?
Why OpenStack is Operating System?유명환 FunFun Yoo
 
프로그래머가 몰랐던 멀티코어 CPU 이야기 - 15, 16장
프로그래머가 몰랐던 멀티코어  CPU 이야기 - 15, 16장프로그래머가 몰랐던 멀티코어  CPU 이야기 - 15, 16장
프로그래머가 몰랐던 멀티코어 CPU 이야기 - 15, 16장JangHyuk You
 
Linux 강의자료 ed10
Linux 강의자료 ed10Linux 강의자료 ed10
Linux 강의자료 ed10hungrok
 

Similar to 7 aaaaaaaaa (20)

프로세스 관리
프로세스 관리프로세스 관리
프로세스 관리
 
Free rtos seminar
Free rtos seminarFree rtos seminar
Free rtos seminar
 
실무로 배우는 시스템 성능 최적화 8부 - 1,2,3장
실무로 배우는 시스템 성능 최적화 8부 - 1,2,3장실무로 배우는 시스템 성능 최적화 8부 - 1,2,3장
실무로 배우는 시스템 성능 최적화 8부 - 1,2,3장
 
OS Process, Thread, CPU Scheduling에 대해 알아봅시다.pdf
OS Process, Thread, CPU Scheduling에 대해 알아봅시다.pdfOS Process, Thread, CPU Scheduling에 대해 알아봅시다.pdf
OS Process, Thread, CPU Scheduling에 대해 알아봅시다.pdf
 
14. no sql을 넘어
14. no sql을 넘어14. no sql을 넘어
14. no sql을 넘어
 
System+os study 3
System+os study 3System+os study 3
System+os study 3
 
System Infra와 Recovery 그리고 DevOps
System Infra와 Recovery 그리고 DevOpsSystem Infra와 Recovery 그리고 DevOps
System Infra와 Recovery 그리고 DevOps
 
shell and process
shell and processshell and process
shell and process
 
Linux programming study
Linux programming studyLinux programming study
Linux programming study
 
실무로 배우는 시스템 성능 최적화 - 4부. 프로세스 이해하기
실무로 배우는 시스템 성능 최적화 - 4부. 프로세스 이해하기실무로 배우는 시스템 성능 최적화 - 4부. 프로세스 이해하기
실무로 배우는 시스템 성능 최적화 - 4부. 프로세스 이해하기
 
운영 체제 Sig
운영 체제 Sig운영 체제 Sig
운영 체제 Sig
 
Python study 1강 (오픈소스컨설팅 내부 강의)
Python study 1강 (오픈소스컨설팅 내부 강의)Python study 1강 (오픈소스컨설팅 내부 강의)
Python study 1강 (오픈소스컨설팅 내부 강의)
 
프로세스
프로세스프로세스
프로세스
 
Rankwave moment™ desc3
Rankwave moment™ desc3Rankwave moment™ desc3
Rankwave moment™ desc3
 
Rankwave MOMENT™ (Korean)
Rankwave MOMENT™ (Korean)Rankwave MOMENT™ (Korean)
Rankwave MOMENT™ (Korean)
 
Gfs Kyu
Gfs KyuGfs Kyu
Gfs Kyu
 
Process (프로세스의 개념, 특징, 정의)
Process (프로세스의 개념, 특징, 정의)Process (프로세스의 개념, 특징, 정의)
Process (프로세스의 개념, 특징, 정의)
 
Why OpenStack is Operating System?
Why OpenStack is Operating System?Why OpenStack is Operating System?
Why OpenStack is Operating System?
 
프로그래머가 몰랐던 멀티코어 CPU 이야기 - 15, 16장
프로그래머가 몰랐던 멀티코어  CPU 이야기 - 15, 16장프로그래머가 몰랐던 멀티코어  CPU 이야기 - 15, 16장
프로그래머가 몰랐던 멀티코어 CPU 이야기 - 15, 16장
 
Linux 강의자료 ed10
Linux 강의자료 ed10Linux 강의자료 ed10
Linux 강의자료 ed10
 

More from usdrd90

컴퓨터 구조 분야의 8가지 아이디어
컴퓨터 구조 분야의 8가지 아이디어컴퓨터 구조 분야의 8가지 아이디어
컴퓨터 구조 분야의 8가지 아이디어usdrd90
 
TCP/IP 4계층
TCP/IP 4계층TCP/IP 4계층
TCP/IP 4계층usdrd90
 
20181014
2018101420181014
20181014usdrd90
 

More from usdrd90 (6)

10
10 10
10
 
1111
11111111
1111
 
1
11
1
 
컴퓨터 구조 분야의 8가지 아이디어
컴퓨터 구조 분야의 8가지 아이디어컴퓨터 구조 분야의 8가지 아이디어
컴퓨터 구조 분야의 8가지 아이디어
 
TCP/IP 4계층
TCP/IP 4계층TCP/IP 4계층
TCP/IP 4계층
 
20181014
2018101420181014
20181014
 

7 aaaaaaaaa

  • 1. 프로세스 스케쥴링 멀티 프로그래밍 최대한 CPU를 많이 활용하도록 하는 시스템 응용 프로그램은 온전히 CPU를 쓰기 보다, 다른 작업을 중간에 필요로 하는 경우가 많다. 예를들어, 파일을 읽는다 가 있다. 비슷한 용어로는 시분할 시스템: 다중 사용자 지원, 컴퓨터 응답시간을 최소화하는 시스템 멀티 태스킹: 단일 CPU에서 여러 응용 프로그램을 동시에 실행하는 것처럼 보이게 하는 시스템 멀티 프로세싱: 여러 CPU에서 하나의 응용 프로그램을 병렬로 실행하게 해서, 실행속도를 높이는 기법 멀티 프로그래밍: 최대한 CPU를 일정 시간당 많이 활용하는 시스템
  • 2. 프로세스 (process) 란? 실행 중인 프로그램은 프로세스라고 함 즉, 응용 프로그램 =! 프로세스 응용 프로그램은 여러 개의 프로세스로 이루어질 수 있음 하나의 응용 프로그램은 여러 개의 프로세스(프로그램)가 상호작용을 하면서 실행될 수도 있음 스케쥴러 : 누가 프로세스 실행을 관리한다. 스케쥴링 알고리즘 : 어느 순서대로 프로세스를 실행시킬까? FIFO 스케쥴러 프로세스가 저장매체를 읽는 다든지, 프린팅을 한다든지 하는 작업 없이, 쭉 CPU를 처음부터 끝까지 사용한다. 가장 간단한 스케쥴러 (배치 처리 시스템) FCFS (First Come First Served) 스케쥴러 와 비슷하다
  • 3. SJF(Shortest Job First- 최단 작업 우선) 스케쥴러 가장 프로세스 실행시간이 짧은 프로세스부터 먼저 실행을 시키는 알고리즘 RealTime OS(RTOS): 응용 프로그램 실시간 성능 보장을 목표로 하는 OS 정확하게 프로그램 시작, 완료 시간을 보장 (정확한 시간에 무조건 끝내야함 공장 등 시간에 민감함 곳에서 사용 - 현실에서는 안될 수도 있음) Hardware RTOS, Software RTOS General Purpose OS(GPOS): 프로세스 실행시간에 민감하지 않고, 일반적인 목적으로 사용되는 OS, 예: Windows, Linux등 우선순위 기반 스케쥴러 (Priority‑Based 스케쥴러) 정적 우선순위 : 프로세스마다 우선순위를 미리 지정 동적 우선순위 : 스케쥴러가 상황에 따라 우선순위를 동적으로 변경 Round Robin 스케쥴러
  • 4. 멀티프로그래밍과 Wait 멀티 프로그래밍 : CPU 활용도를 극대화 하는 스케쥴링 알고리즘 Wait : 간단히 저장매체로 부터 파일 읽기를 기다리는 시간으로 가정 프로세스 상태 running state : CPU에서 실행 상태 ready state : CPU에서 실행 가능한 상태(실행대기 상태) block state : 특정 이벤트 발생 대기 상태 (예: 저장매체에서 파일을 읽는 중인 상태 등) 프로세스 상태 관계 프로세스가 러닝을 하다가 특정이벤트 대기를 한다.(파일 읽기) Ready 상태에서 스케줄러에게 선택 받아 Running(실행) 된다. Running 상태에서 특정한 시점이 되어, 다른프로세스로 변경하기 위해 Ready 상태로 바꾸어 준다. 스케줄러에게 Running 상태로 바꾸어도 된다고 알려주기 위해서 , Ready 상태로 바뀐다.