사용자수준의스레드 : 사용자의라이브러리에의해운영, 속도는빠르나, 구현이복잡하다. 커널수준의스레드 : 운영체제커널에의해운영, 속도는느리나, 구현이단순하다. 스케줄링 (Scheduling) 1) 스케줄링의정의 프로세스가생성되어실행될때필요한시스템의여러자원을해당프로세스에게할당

Similar documents
<C1A4BAB8C3B3B8AE5FB1E2BBE75FC7CAB1E25F E687770>

<4D F736F F F696E74202D20BBE7BABB202D204F DC7C1B7CEBCBCBDBA20BDBAC4C9C1D9B8B528BAF1BCB1C1A12CBCB1C1A1292E707074>

7 프로시저가활동중인것 8 실행중인프로시저의제어궤적 9 CPU가할당되는실체 운영체제가관리하는최소단위작업 (2) 프로세스상태전이도 (3) 주요프로세스상태 1 준비 (Read) 상태 : 실행하기위해준비하고있는상태 2 실행 (Run) 상태 :

운영체제

18차시.ppt

학습목표 ü 01_ 소개 ü 02_ 스케줄링수준 ü 03_ 선점형 / 비선점형스케줄링 ü 04_ 우선순위 ü 05_ 스케줄링목적 ü 06_ 스케줄링기준 ü 07_ 스케줄링알고리즘 ü 08_ 데드라인스케줄링 ü 09_ 실시간스케줄링 ü 10_ 자바스레드스케줄링 2/23

리눅스 프로세스 관리

Microsoft PowerPoint - StallingsOS6e-Chap09.ppt [호환 모드]

Microsoft PowerPoint - o5.pptx

Microsoft PowerPoint - o5.pptx

Microsoft PowerPoint - StallingsOS6e-Chap06.ppt [호환 모드]

입학사정관제도

Chapter #01 Subject

제11장 프로세스와 쓰레드

슬라이드 1

Abstract View of System Components

1 처리능력 (Throughput) : 일정시간내에시스템이처리하는일의양 2 반환시간 (Turnaround time) : 시스템에작업을의뢰한시간부터처리가완료될때까지걸리는시간 3 사용가능도 (Availability) : 시스템을사용할필요가있을때즉시사용가능한정도 4 신뢰도

Microsoft PowerPoint - StallingsOS6e-Chap05.pptx

6주차.key

Chapter ...

< B3E220C1A632C8B820C4C4C7BBC5CDBFEEBFEBBBE72041C7FC28C3D6C1BE292E687770>

<C1A4BAB8C3B3B8AEB1E2BBE75FBBEABEF7B1E2BBE720C7CAB1E220BFE4C1A120C7DAB5E5BACF28BFEEBFB5C3BCC1A6292E687770>

Microsoft PowerPoint - o6.pptx

10주차.key

<4D F736F F F696E74202D20322DBDC7BDC3B0A320BFEEBFB5C3BCC1A6>

PowerPoint 프레젠테이션

Microsoft PowerPoint - o8.pptx

Microsoft PowerPoint - StallingsOS6e-Chap03.ppt [호환 모드]

슬라이드 1

<4D F736F F F696E74202D20C1A4BAB8C3B3B8AEB1E2BBE72CBBEABEF7B1E2BBE720BFE4C1A1C1A4B8AE5FBFEEBFB5C3BCC1A B3E2292E707074>

untitled

슬라이드 1

PowerPoint 프레젠테이션

Alternating Sequence of CPU And I/O Bursts 6.2

정보처리기사필기 D-10(5 일차 : 운영체제요점정리 ) 1. Access Control Matrix 행은사용자를 ( 예를들면 userid, 프로세스등 ) 대표하고, 열은객체를 ( 예를들면파일, 입출력장치 ) 를 대표한다. entry 는 access 권한을나타낸다. (

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

사용예 mount t msdos /dev/hda2 /mnt/msdos mount t vfat /dev/hda3 /mnt/win98 mount t ntfs /dev/hda4 /mnt/win2000 mount t ext2 /dev/hda5 /mnt/inux umount 명

슬라이드 1

Microsoft PowerPoint - 08-chap06-Queue.ppt

Microsoft PowerPoint - ch10_회복과 병행 제어.pptx

Microsoft PowerPoint - 30.ppt [호환 모드]

제9장 프로세스 제어

Microsoft PowerPoint - Introduction.pptx

Microsoft PowerPoint - 11_Thread

운영체제란? PC를구입하면 Windows XP, Windows 7, Linux, MS-DOS Mac OSX, ios 운영체제 : Operating System 운영체제가없는컴퓨터? 컴퓨터 : 프로세서와메모리 전원을켜면어떤일이? 휘발성메모리 - 야생마 프로그램을실행하려면

슬라이드 1

Microsoft PowerPoint - 08-Queue.ppt

Chapter 4. LISTS

Microsoft PowerPoint - o4.pptx

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

Figure 5.01

歯MW-1000AP_Manual_Kor_HJS.PDF

Frama-C/JESSIS 사용법 소개

Microsoft PowerPoint - 03.OS.pptx

Index

PowerPoint 프레젠테이션

- 코드로읽는리눅스디바이스드라이버 강남용

Microsoft PowerPoint - e pptx

텀블러514

Abstract View of System Components

Microsoft PowerPoint - Lecture_Note_7.ppt [Compatibility Mode]

Microsoft Word - PLC제어응용-2차시.doc

Chap 6: Graphs

1장. 유닉스 시스템 프로그래밍 개요

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A634C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

학습목차 r 컴퓨터본체에서 CPU 의위치살펴보기 r CPU 의성능 r CPU 의기능 r CPU 의조직 r 레지스터의조직 r 명령어사이클 r 명령어파이프라이닝 컴퓨터구조 2 9. CPU 조직과기능

11장 포인터

Microsoft Word - FunctionCall

gisa_pil_070304_pdf.hwp

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

이 장에서 사용되는 MATLAB 명령어들은 비교적 복잡하므로 MATLAB 창에서 명령어를 직접 입력하지 않고 확장자가 m 인 text 파일을 작성하여 실행을 한다

Chap 6: Graphs

No Slide Title

2014 학년도중등학교교사임용후보자선정경쟁시험 정보 컴퓨터 수험번호 :( ) 성명 :( ) 제 1 차시험 2 교시전공 A 14 문항 40 점시험시간 90 분 문제지전체면수가맞는지확인하시오. 모든문항에는배점이표시되어있습니다. 기입형 1 ~ 다음은 2009 개정

ESP1ºÎ-04

JVM 메모리구조

Microsoft PowerPoint - chap10-함수의활용.pptx

[CA-09강] 특수기억장치와 입,출력장치.hwp

Microsoft PowerPoint - o6.pptx

Microsoft PowerPoint - chap06-2pointer.ppt

Microsoft PowerPoint - lec12 [호환 모드]

<4D F736F F F696E74202D DBAB8C1B62CC6AFBCF6BFEBB5B5B1E2BEEFC0E5C4A12CBAB4B7C4C4C4C7BBC5CD2E707074>

쓰레드 (Thread) 양희재교수 / 경성대학교컴퓨터공학과

Module 6: CPU Scheduling

Microsoft PowerPoint os7.ppt [호환 모드]

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

Microsoft PowerPoint os5.ppt [호환 모드]

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

좀비프로세스 2

ADP-2480

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

API 매뉴얼

Microsoft Word - [2017SMA][T8]OOPT_Stage_2040 ver2.docx

Microsoft PowerPoint - hy2-12.pptx

슬라이드 1

딥러닝 첫걸음

슬라이드 1

À̵¿·Îº¿ÀÇ ÀÎÅͳݱâ¹Ý ¿ø°ÝÁ¦¾î½Ã ½Ã°£Áö¿¬¿¡_.hwp

Synchronization

슬라이드 1

Transcription:

프로세스 (Process) 1) 프로세스의개념 프로세서에의해처리되어지는사용자프로그램및시스템프로그램을의미한다. 현재실행중인프로그램이며 Job(=Task) 이라고도한다. PCB를가지는프로그램으로비동기적인행위를일으키는주체이며실제주기억장치에저장된프로그램이다. 운영체제가관리하는실행단위이며프로시저 ( 프로그램내의하위프로그램 ) 가활동중인것을의미한다. 2) 프로세스의상태전이과정 Dispatch: CPU 를할당받아실행상태로전이되는과정 Submit( 제출 ) Hold( 접수 ) Ready( 준비 ) Run( 실행 ) 선점 ( 시간초과 ) 입출력종료 (wake up) Complete( 완료 ) 디스크 (Spooling) Wait, Block ( 대기 ) 입출력발생 제출상태접수상태준비상태실행상태대기상태완료상태 작업처리를위해사용자가작업을시스템 ( 운영체제 ) 에제출한상태 제출된작업이디스크의스풀공간위치에저장된상태 프로세스가프로세서를할당받기위해대기중인상태로준비상태큐에서실행을준비한다. 접수상태 -> 준비상태의변화는운영체제의 Job 스케줄러에의해처리된다. 준비상태큐에있는프로세스가프로세서를할당받아서실행되는상태로프로세스에게주어진할당시간이종료되면준비상태로넘어간다. 실행중에입출력처리가요구되면현재프로세스는잠시중단되고, 대기상태로넘어간다. 준비상태 -> 실행상태의변화는 CPU의스케줄러에의해처리된다. 프로세스의입출력처리가완료될때까지대기하는상태 프로세서를할당받아주어진시간내에작업수행을완료한상태 3)PCB(Process Control Block) 의개념 운영체제가프로세스각각의정보를저장해놓는곳으로각각의프로세스가생성될때마다고유의 PCB 가생성되고, 완 료되면 PCB 의정보는지워진다. 1PCB에저장된정보 프로세스의현재상태 : 준비, 대기, 실행 프로세스고유식별자 : 각각의프로세스를구분하는고유번호 프로세스우선순위및스케줄링 : 프로세스의실행우선순위및스케줄링정보 CPU의레지스터정보 : AC, Index Register, PC, 범용레지스터등에대한정보 주기억장치정보 : Base Register, Page table 입출력상태정보 : 입출력장치의파일목록 계정정보 : CPU 사용시간, 실사용시간, 한정시간등 포인터 : 부모프로세스, 자식프로세스, 프로세스가위치한메모리포인터, 할당된자원의포인터 4) 스레드 (Thread) 프로세스내에서의단위작업프로그램을의미하는것으로하나의프로세스를여러개의스레드로구성하여병행수행성을증대하고, 응용프로그램처리능력을향상시킨다. ( 기억공간절약, 응답시간단축효과 ) [ 1 ]

사용자수준의스레드 : 사용자의라이브러리에의해운영, 속도는빠르나, 구현이복잡하다. 커널수준의스레드 : 운영체제커널에의해운영, 속도는느리나, 구현이단순하다. 스케줄링 (Scheduling) 1) 스케줄링의정의 프로세스가생성되어실행될때필요한시스템의여러자원을해당프로세스에게할당하는작업을의미한다. 프로세스가생성되어완료될때까지프로세스는여러종류의스케줄링과정을거친다. 2) 스케줄링의종류 장기스케줄링 중기스케줄링 단기스케줄링 어떤프로세스가시스템의자원을차지할수있도록할것인가를결정하여준비상태큐로보내는작업 작업스케줄링, 상위스케줄링이라고도한다. 작업스케줄러에의해수행된다. 어떤프로세스들이 CPU를할당받을것인지결정하는작업을의미한다. CPU를할당받으려는프로세스가많을경우프로세스를일시보류시킨후다시활성화시켜일시적으로부하를줄인다. 프로세스가실행되기위해 CPU를할당받는시기와특정프로세스를지정하는작업 프로세서스케줄링, 하위스케줄링이라고도한다. 프로세서스케줄링및문맥교환은프로세서스케줄러에의해수행된다. 3) 문맥교환 (Context Switching) 하나의프로세스에서다른프로세스로 CPU가할당되는과정에서발생하는것으로새로운프로세스에 CPU를할당하기위해현재 CPU가할당된프로세스의상태정보를저장하고, 새로운프로세스의상태정보를설정하여 CPU를할당하고실행되도록하는작업으로다중프로그래밍시스템에이용되는작업이다. 4) 시스템자원의효율적운영을위한스케줄링이용목적 공정성 모든프로세스에공정한자원분배할당 처리율증가 단위시간당프로세스를처리하는비율을증가시킨다. CPU 이용률증가 프로세스실행과정에서주기억장치를액세스하거나입출력명령의실행등의원인에의해 발생할수있는 CPU 의시간낭비를줄여서 CPU 가순수프로세스를실행하는데사용되는시 간비율을증가시킨다. 우선순위제도 우선순위가높은프로세스를먼저실행한다. 오버헤드의최소화 발생오버헤드를최소화시킨다. 응답시간최소화 반환시간최소화 대기시간최소화 작업을지시하고, 반응하기시작하는시간의최소화 프로세스를제출한시간부터실행이완료되는시점까지의시간을최소화 프로세스가준비상태큐에서대기하는시간을최소화 무한연기회피 자원사용을위한무한연기되는상태를방지한다. 균등한자원활용 메모리및입출력장치등의자원을균형있게사용 5) 프로세서스케줄링 ( 프로세스스케줄링 ) 기법 1 비선점 (Non-preemptive) 스케줄링 [ 2 ]

이미할당된 CPU를다른프로세스가강제로빼앗아사용하지못하도록하는기법 프로세스가 CPU를할당받으면해당프로세스가완료될때까지 CPU를사용한다. 모든프로세스에대한요구를공정하게처리할수있다. 프로세스응답시간의예측이용이하며, 일괄처리방식 중요한작업 ( 짧은작업 ) 이중요하지않는작업 ( 긴작업 ) 을기다리는경우가생긴다. FCFS, SJF, 우선순위, HRN, 기한부등의알고리즘이있다. 2선점 (preemptive) 스케줄링 하나의프로세스가 CPU를할당받아실행하고있더라도우선순위가높은다른프로세스가 CPU를강제로빼앗아사용할수있는기법 우선순위가높은프로세스를빨리처리한다. 빠른응답시간을요구하는대화식시분할시스템에사용한다. 많은오버헤드를일으킨다. 선점이가능하도록일정시간배당에대한인터럽트용타이머클럭이필요하다. Round Robin, SRT, 선점우선순위, 다단계큐, 다단계피드백큐등이있다. 비선점 (Non-Preemption) 스케줄링 ( 작업의순서를변경하지못함 ) 1)FCFS(First Come First Service 또는 First In First Out: 선입선출 ) 준비상태큐에도착한순서에따라차례로 CPU를할당하는방법으로짧은작업이긴작업처리를위해대기하거나중요한작업이중요하지않는작업의처리를위해대기하게된다. 2)SJF(Shortest Job First: 단기작업우선 ) 준비상태큐에도착한프로세스중에서실행시간이가장짧은것부터 CPU 를할당하는방법으로가장적은평균대기시간 을제공하지만실행시간이긴프로세스는무기한대기하는문제가발생하게된다. 3)HRN(Hightest Response-ratio Next) 실행시간이긴프로세스를위한기법으로운선순위계산식을이용하여운선순위를주는방식이다. 실행시간및대기시간에좌우되어진다. (SJF 의단점을고려하여대기시간을고려 ) 대기시간 서비스 실행 시간 우선순위계산식 서비스 실행 시간 4)DeadLine( 기한부 ) 프로세스에게일정한실행시간을주고그시간동안완료하지못하면제거또는재실행시키는방식이다. 프로세스의일정시간을정확하게산출해야하기때문에사용자는프로세스에대한정확한정보를주어야한다. 프로세스가여러개동시에수행될경우에스케줄링이매우복잡해지고, 오버헤드가발생한다. 5)Priority( 우선순위 ) 준비상태큐에있는프로세스에각각의중요도에따른우선순위를주어서그우선순위가가장높은프로세스에게 CPU를할당하는방식이다. 우선순위가같으면 FCFS방식으로처리하며, 우선순위는프로세서의종류, 특성, 용도에따라다르게부여한다. 우선순위가가장낮은프로세스는무기한대기하는문제가발생하게된다. 무기한대기 = 무한연기 = 기아상태 1에이징 (Aging) 기법 SJF방식에서발생하는가장짧은실행시간을가진프로세스의무기한대기문제와, Priority방식에서발생하는우선순위가낮은프로세스의무기한대기문제를해결하기위해일정대기시간이지나면우선순위레벨을한단계씩올려서가능한빠른시간내에처리가될수있도록하는방법이다. [ 3 ]

선점 (Preemption) 스케줄링 ( 작업의순서를변경함 ) 1)SRT(Shortest Remaining Time) 비선점 SJF방식을보안한것으로현재실행중인프로세스의남은시간과준비상태큐에새로이도착한프로세스의실행시간을비교하여가장짧은실행시간을가지는프로세스에게 CPU를할당하는방식이다. 각프로세스의실행시간정보를예측하고기억해야하므로오버헤드가증가한다. 2)RR(Round Robin) 비선점 FCFS방식을보안한것으로시분할시스템에적합한방식이다. 준비상태큐에들어온순서대로 CPU를할당하지만, 할당된시간동안만실행한후실행이완료되지못하면우선다음프로세스에게 CPU를할당하여주고현재프로세스는제거되는것이아니라준비상태큐의가장뒤로가서나머지수행작업을마치게된다. 할당된시간이크면 FCFS와같아지고, 작으면문맥교환및오버헤드가자주발생한다. 3)MQ(Multi-level Queue: 다단계큐 ) 프로세스를특정한그룹으로분류하여각각의그룹에각각의준비상태큐를두어사용하는기법으로우선순위의그룹별 ( 시스템-> 대화형-> 편집-> 일괄처리 ) 로준비상태큐를나누어배치한다. 각각의준비상태큐는독립된스케줄링기법을가지며, 그룹에배치된프로세스는타그룹으로이동하지못한다. 하위단계의프로세스를수행중이라도상위단계의준비상태큐에프로세스가들어오면상위단계에있는준비상태큐의프로세스에게 CPU를할당한다. 4)MFQ(Multi-level Feedback Queue: 다단계피드백큐 ) 다단계큐가각각의준비상태큐의이동일불가능하기때문에그룹별준비상태큐의이동이가능하도록한방식이다. RR방식의개념을이용하여프로세스가작업을완료하지못하면바로위단계의준비상태큐로이동시키는것이다. 상위단계의준비상태큐는우선순위가높고, 할당된시간이짧다. 프로세스병행제어 1) 프로세스의병행개념 두개이상의프로세스가동시에실행되어있는상태를말하는것으로여러프로세스는각각독립적으로실행되거나상호관계를가지며실행되어진다. 프로세스가두개이상실행되어있더라도어느한순간에는하나의프로세스가 CPU를할당받아작업을수행하므로그에대한중간제어역할이필요하다. 2) 임계구역 (Critical Section) 여러개의프로세스가공유하는데이터와자원 ((CPU, 주기억장치, 디스크, 입출력장치, 버퍼 ) 에대해서어느한순간에는하나의프로세스만데이터및자원을사용하도록지정한공유자원영역이다. 임계구역에는하나의프로세스만접근하고, 프로세스가자원을반납해야만다른프로세스가사용할수있다. 특정프로세스가단독으로독점할수는없으며, 자원을공유하는구역이므로작업을빨리사용해야한다. 3) 상호배제기법 (Mutual Exclusion) 임계구역에자원을특정프로세스가사용할때다른프로세스가접근하지못하도록하는기법으로임계구역을관리하는방식이다. 소프트웨어적 : 데커알고리즘 ( 프로세스 2개 ), 피터슨알고리즘 ( 프로세스 2개 ), 빵집알고리즘 ( 프로세스여러개 ) 하드웨어적 : Test And Set 기법, Swap 명령어기법 4) 동기화기법 (Synchronization) 상호배제의한형태로두개이상의프로세스가있을때각프로세스에대한처리순서를결정하는방법이다. [ 4 ]

1세마포어 (Semaphore) (P연산, V연산 ) 각각의프로세스에게제어신호를전달하여순서대로작업을수행하도록하는기법이다. 하나의프로세스가자원을공유하고자할때우선적으로다른프로세스가자원을점유하여사용중인지확인한다. 다른프로세스가사용중이면대기하고그렇지않으면해당자원의사용함을통보하고사용이끝나면종료사실을다시알려준다. 2모니터 (Monitor) (Sign연산, Wait연산 ) 특정공유자원을프로세스에게할당하기위해데이터와데이터처리에대한프로시저로구성되어작업을수행하도록하는기법이다. ( 병행성구조 ) 자료의추상화 ( 정보은폐 ) 의개념을사용한다. 모니터내의공유자원을사용하기위해서는프로세스는모니터의진입부를호출한다. 어느한순간에는반드시하나의프로세스만진입이가능하다. 교착상태 (Dead Lock) 1) 교착상태의개념 두개이상의프로세스가각각의공유자원을사용하고있으면서다른자원을요구하여무한정대기하는상태를의미한다. 이는상호배제가공유자원을사용할때하나의프로세스만접근하도록하기때문에발생하는현상이다. 2) 교착상태가일어나기위한네가지조건 ( 하나라도만족하지않으면일어나지않음 ) 상호배제 (Mutual Exclusion) 공유자원을하나의프로세스만공유해야한다. 점유와대기 (Hold and Wait) 최소한하나의자원을점유하고있고, 다른프로세스가점유한자원을이용하기 위해대기하는프로세스가있어야한다. 비선점 (Non-Preemption) 다른프로세스에할당된자원을강제로중지할수없어야한다. 환형대기 (Circular Wait) 공유자원과공유자원을사용하려는프로세스가원형으로구성되어자신에게 할당된자원을점유하면서인접한양쪽프로세스의자원을요구해야한다. 3) 교착상태의해결 1예방기법 (Prevention) 교착상태가일어나지않도록미리시스템을제어하는방법으로교착상태의네가지발생조건에서하나를제거한다. 엄격한자원배당과해제정책이필요하다. 상호배제 : 한번에하나이상의프로세스가공유자원을사용하게한다. [ 실제사용 ( 구현 ) 안함 ] 점유대기 : 프로세스에게전체자원을할당하여프로세스가대기할수없게하거나, 자원이점유되지않을때만자원요구가가능하게한다. 비선점 : 자원을점유한프로세스가다른자원을요구시에점유자원을우선반납하고, 요구한자원을사용하도록한다. 환형대기 : 자원을원형이아닌선형순서로만들어고유한순서번호를주고한쪽방향으로만자원을요구하도록한다. 시스템의자원낭비가가장심하다. 2회피기법 (Avoidance) 교착상태발생시피해나가는방법으로은행가알고리즘이사용된다. 은행가알고리즘 - E. J. Dijkstra가제안한것으로은행에서모든고객의요구가충족되도록현금을할당하는기법 - 자원의양과프로세스의수가일치해야한다. - 프로세스의모든요구사항을유한된시간내에할당하는것이보장된다. 3 회복기법 (Recovery) [ 5 ]

교착상태를발생시킨프로세스를강제종료또는해당자원을선점처리하여반환시키는기법 프로세스종료 : 교착상태의모든프로세스를종료하거나, 하나씩종료시켜서해결한다. 자원선점처리 : 우선순위가낮은프로세스, 수행율이적은프로세스, 자원의사용빈도가적은프로세스등을위주로해당프로세스자원을선점처리하여다른프로세스에게할당한다. 4 발견기법 (Detection) 시스템에서교착상태가발생여부를체크하여교착상태에있는자원과프로세스를찾는기법이다. [ 6 ]