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

Similar documents
6주차.key

슬라이드 1

untitled

Microsoft PowerPoint - o8.pptx

리눅스 프로세스 관리

Microsoft PowerPoint - Lecture_Note_7.ppt [Compatibility Mode]

Chapter #01 Subject

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

슬라이드 1

<4D F736F F F696E74202D20BBE7BABB202D204F DC7C1B7CEBCBCBDBA20BDBAC4C9C1D9B8B528BAF1BCB1C1A12CBCB1C1A1292E707074>

JVM 메모리구조

Microsoft PowerPoint APUE(Intro).ppt

Chap06(Interprocess Communication).PDF

제11장 프로세스와 쓰레드

Figure 5.01

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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

Chapter 4. LISTS

Chapter ...

RVC Robot Vaccum Cleaner

임베디드시스템설계강의자료 6 system call 1/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

제9장 프로세스 제어

GNU/Linux 1, GNU/Linux MS-DOS LOADLIN DOS-MBR LILO DOS-MBR LILO... 6

[Brochure] KOR_TunA

Microsoft PowerPoint os2.ppt [호환 모드]

PowerPoint 프레젠테이션

<4D F736F F F696E74202D20322DBDC7BDC3B0A320BFEEBFB5C3BCC1A6>

슬라이드 1

PCServerMgmt7

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

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

KEY 디바이스 드라이버

10.

운영체제

Microsoft Word - FunctionCall

11장 포인터

좀비프로세스 2

Deok9_Exploit Technique

¨ìÃÊÁ¡2

금오공대 컴퓨터공학전공 강의자료

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3

Microsoft PowerPoint - StallingsOS6e-Chap04.pptx

Microsoft PowerPoint - o4.pptx

PRO1_02E [읽기 전용]

사용예 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 명

18차시.ppt

The Self-Managing Database : Automatic Health Monitoring and Alerting

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

설계란 무엇인가?

C# Programming Guide - Types

Remote UI Guide

vm-웨어-앞부속

<C1A4BAB8C3B3B8AE5FB1E2BBE75FC7CAB1E25F E687770>

2006_8_14 (8_17 updated) ms ¿ú(wgareg.exe) ºÐ¼® º¸°í¼�.hwp

Microsoft PowerPoint - o3.pptx

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A634C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

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

F1-1(수정).ppt

1217 WebTrafMon II

Here is a "PLDWorld.com"... // EXCALIBUR... // Additional Resources // µc/os-ii... Page 1 of 23 Additional Resources: µc/os-ii Author: Source: HiTEL D

Cloud Friendly System Architecture

Microsoft PowerPoint - ch07.ppt

39호뉴스레터.indd

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

Frama-C/JESSIS 사용법 소개

서현수


untitled

Microsoft PowerPoint - chap06-5 [호환 모드]

06장.리스트

Microsoft PowerPoint - 15-MARS

ABC 11장

CD-RW_Advanced.PDF

ETL_project_best_practice1.ppt

슬라이드 1

C++ Programming

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

Cisco FirePOWER 호환성 가이드

Lab 3. 실습문제 (Single linked list)_해답.hwp

PowerPoint 프레젠테이션

example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for

Microsoft PowerPoint - 2.Catalyst Switch Intrastructure Protection_이충용_V1 0.ppt [호환 모드]

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT END USERS. Oracle programs, including any oper

Abstract View of System Components


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

Voice Portal using Oracle 9i AS Wireless

휠세미나3 ver0.4

gnu-lee-oop-kor-lec06-3-chap7

11장 포인터

vm-웨어-01장

PowerPoint 프레젠테이션

Microsoft PowerPoint UI-Event.Notification(1.5h).pptx

Tablespace On-Offline 테이블스페이스 온라인/오프라인

DE1-SoC Board

<4D F736F F D20C0CCBEBEC1A6BEEE5FC3A5BCD2B0B35F >

Sharing Memory Between Drivers and Applications

Transcription:

3 장프로세스기술 (Description) 및제어 (Control) 3 장의강의목표 프로세스의개념을이해한다. 프로세스의상태에대해서이해한다. 프로세스를표현하는운영체제의자료구조를이해한다. 프로세스제어블록의필요성및용도를이해한다. 모드전환과문맥교환에대해서이해한다. 운영체제의실행방식에대해서이해한다. 운영체제보안이슈에대해서이해한다. UNIX SVR4 의프로세스관리기법을이해한다. 프로세스기술및제어 2

3.1 프로세스 (process) 란? 목차 3.2 프로세스상태 (Process States) 3.3 프로세스기술 (Process Description) 3.4 프로세스제어 (Process Control) 35 3.5 운영체제수행 (Execution of the Operating System) 3.6 보안이슈 (Security Issues) 3.7 UNIX SVR4 의프로세스관리 프로세스기술및제어 3 운영체제요구조건 프로세스관리 : 기본요구조건 다중프로세스의수행을인터리빙 (interleaving) 방식으로병행적으로처리한다. 프로세스에자원을할당하고, 각프로세스의자원을다른프로세스로부터보호한다. 프로세스간정보를공유하고교환할수있게한다. 프로세스간동기화를지원한다. 프로세스기술및제어 4

배경지식 3.1 프로세스란? 컴퓨터플랫폼은하드웨어자원들의집합으로구성 컴퓨터응용은어떤업무를수행하기위해개발됨 주어진하드웨어플랫폼상에서직접응용을작성하는것은비효율적 공통루틴 (common routines) 개발유도 자원공유 (resource sharing) 를위한소프트웨어필요 자원보호 (resource protection) 기법필요 OS는응용이사용할수있는편리하고, 풍부하고, 안전하고, 일관성있는인터페이스를제공 OS는자원들에대해균일하고추상화된표현 (representation) 을제공 응용은해당자원을요청하고접근가능 Process: model the execution of applications (main concept for multiprogramming, time sharing system) 프로세스기술및제어 5 3.1 프로세스란? 프로세스란? 정의 수행중인프로그램 (A program in execution): active entity 컴퓨터에서수행중인한프로그램의인스턴스 (instance) 한처리기상에할당되어실행될수있는개체 명령들의순차실행, 현재상태, 연관되어있는시스템명령들의집합등으로특징지어지는 활동의단위 (a unit of activity) 구조 (Structures) 프로그램코드 (program code) 일련의데이터 (a set of data), stack (user stack vs. kernel stack) 프로세스정보 (process information) Program Code & Data in a file system 프로세스기술및제어 6

3.2 프로세스상태 : 수행궤적 (1/3) A, B, C 프로세스들의수행궤적 프로세스기술및제어 7 3.2 프로세스상태 프로세스수행궤적 (2/3) 처리기관점에서본프로세스들의수행궤적 프로세스기술및제어 8

3.2 프로세스상태 프로세스수행궤적 (3/3) Timing Diagram 프로세스상태변화를쉽게파악할수있게해줌. 프로세스기술및제어 9 3.2 프로세스상태 Two-State 프로세스모델 2- 상태프로세스모델 수행 (Running) 및비수행 (Not-running) each entry of the queue is a pointer to the PCB or linked list of PCBs 프로세스기술및제어 10

3.2 프로세스상태 프로세스생성 주소공간생성및프로세스이미지구축 fork (Linux) 또는 CreateProcess (Windows) 를이용함 부모프로세스대자식프로세스 프로세스기술및제어 11 3.2 프로세스상태 프로세스종료 프로세스기술및제어 12

3.2 프로세스상태 프로세스종료 ( 계속 ) 프로세스기술및제어 13 3.2 프로세스상태 5-State Model 5- 상태프로세스모델 수행 (Running) 준비 (Ready) 블록 (Blocked) 생성 (New) 종료 (Exit) 프로세스기술및제어 14

3.2 프로세스상태 5-State 프로세스모델 5-상태프로세스모델에서의상태전이 Null 생성 (New): 생성 (create) 생성 준비 (Ready): 승인 (admit) 준비 수행 (Running): 디스패치 (dispatch) 수행 준비 : 선점 ( 시간만료또는높은우선순위 ) 수행 블록 (Blocked): 사건대기 ( 수면 ) 블록 준비 : 사건발생 ( 깨움 ) 수행 종료 (Exit): 종료 ( 또는완료 ) 준비 종료 블록 종료 프로세스기술및제어 15 3.2 프로세스상태 5-State 프로세스모델 5-상태프로세스모델의 Queuing Model 여러큐를사용 특히, 여러개의블록큐 프로세스기술및제어 16

3.2 프로세스상태 보류된프로세스 (Suspended Process) 스와핑 (Swapping) 스왑 - 아웃 (swap-out) 종료되지않은프로세스의전체이미지 ( 또는일부이미지 ) 를주기억장치로부터 스왑공간 으로이동시키는것 Swap Space: 디스크의일부예약된영역 스왑-인 (swap-in) 스왑 - 아웃된프로세스의전체이미지 ( 또는일부이미지 ) 를스왑공간으로부터주기억장치로적재하는것 스와핑도 I/O 연산임에주의 : 큰오버헤드발생 스와핑의필요성 더많은가용메모리 (free memory) 를확보하기위해 주기억장치에준비상태의프로세스가없을때 프로세스기술및제어 17 3.2 프로세스상태보류된프로세스보류상태포함프로세스상태전이도 프로세스기술및제어 18

3.2 프로세스상태보류된프로세스보류 (suspension) 의이유 프로세스기술및제어 19 3.2 프로세스상태보류된프로세스보류프로세스를포함한상태전이 새로도입된주요상태전이 Blocked Blocked/Suspend: 보류, 즉스왑 - 아웃 Blocked/Suspend Ready/Suspend: 보류상태에서깨움 Ready/Suspend Ready: 활성화 (activate), 즉스왑 - 인 Ready Ready/Suspend: 보류, 즉스왑 - 아웃 기타상태전이 New Ready/Suspended Blocked/Suspend Blocked Running Ready/Suspend 임의상태 Exit 프로세스기술및제어 20

3.3 프로세스기술 (description) 프로세스를위해 OS 가자원관리를어떻게해야하나? 프로세스와자원 프로세스기술및제어 21 3.3 프로세스기술 운영체제제어구조 OS 내제어구조 (control structures) 각프로세스및자원의현재상태에대한정보를유지 보통, OS 가관리하는각개체 (entity) 를위한테이블이구성됨 메모리테이블 I/O 테이블 ( 입출력테이블 ) 파일테이블 프로세스테이블 프로세스기술및제어 22

3.3 프로세스기술운영체제제어구조 OS 제어테이블의일반적인구조 프로세스기술및제어 23 3.3 프로세스기술운영체제제어구조메모리테이블과입출력테이블 메모리테이블 프로세스들에할당된주기억장치정보 프로세스들에할당된 2차메모리 ( 디스크 ) 정보 공유메모리영역에접근하기위한보호속성 (Protection attributes) 가상메모리 (virtual memory) 관리에필요한정보 I/O 테이블 I/O 연산에필요한정보유지 I/O 장치이용가능또는특정프로세스에할당되어있음을표시 I/O 전송에서소스 (source) 또는목적지주소로사용될주기억장치에서의위치 프로세스기술및제어 24

3.3 프로세스기술운영체제제어구조파일테이블과프로세스테이블 파일테이블 2 차메모리에서의위치 현재상태, 속성 (Attributes) 파일시스템을관리하는데필요한정보 프로세스테이블 프로세스의위치정보 프로세스에서사용되는속성들의집합인제어블록 (PCB) 정보 프로세스기술및제어 25 3.3 프로세스기술 프로세스제어구조 프로세스기술및제어 26

3.3 프로세스기술 프로세스제어구조 ( 계속 ) 프로세스관리의두가지중요요소 프로세스의메모리내위치 프로세스속성 프로세스를제어하기위해 OS 가사용하는정보 프로세스제어블록 속성들의집합 PCB 태스크제어블록 프로세스디스크립터 (descriptor) 프로세스이미지 (process image) 프로그램 (code 또는 text): 실행흐름 데이터 스택 PCB (Process Control Block) 프로세스식별 처리기상태정보 프로세스제어정보 프로세스기술및제어 27 3.3 프로세스기술 프로세스제어구조 ( 계속 ) 운영체제개요 28

3.3 프로세스기술프로세스제어구조 프로세스이미지 프로세스제어블록 (PCB) 텍스트 ( 코드, 명령어 ) 데이터 ( 전역변수 ) 힙 ( 동적메모리할당 ) free area 스택 ( 지역변수, 매개변수 ) 프로세스기술및제어 29 3.3 프로세스기술프로세스제어구조 PCB 프로세스제어블록 (Process Control Block) OS 에의해관리 다수의프로세스를지원하고 다중처리를제공할수있게 지원하는중요자료구조 프로세스기술및제어 30

3.3 프로세스기술프로세스제어구조 PCB ( 계속 ) PCB 의구성요소 프로세스식별 : 숫자로된식별자 PID, PPID, UID, 처리기상태정보 User-Visible ibl Registers : 사용자가이용가능 제어및상태레지스터 Program counter, Condition codes, Status information 스택포인터 프로세스제어정보 스케줄링및상태정보 Process state, Priority, Scheduling-related information, Event 다른프로세스들간의포인터정보 프로세스간통신 프로세스권한 메모리관리 자원소유권및이용률 프로세스기술및제어 31 3.3 프로세스기술프로세스제어구조 PCB ( 계속 ) PCB 의일반적인구성요소 프로세스기술및제어 32

3.3 프로세스기술프로세스제어구조 PCB ( 계속 ) PCB 의일반적인구성요소 ( 계속 ) 프로세스기술및제어 33 3.3 프로세스기술프로세스제어구조프로세스속성 프로그램상태워드 (PSW) 예 : Pentium II 상에서 EFLAGS 레지스터 프로세스기술및제어 34

3.3 프로세스기술프로세스제어구조프로세스속성 ( 계속 ) 가상메모리에서사용자프로세스 ( 그림 3.13) 프로세스기술및제어 35 3.3 프로세스기술프로세스제어구조프로세스속성 ( 계속 ) 프로세스상태큐구조를위한리스트구현 프로세스기술및제어 36

처리기수행모드 3.4 프로세스제어 대부분의처리기는최소한두가지의수행모드를제공 사용자모드 (user mode) 시스템모드 (system mode, control mode, kernel mode) 사용자프로그램의간섭으로부터운영체제를보호할목적 처리기수행모드구분구현 PSW 의한비트를활용 커널모드로바뀌는경우 사용자가운영체제서비스를호출 인터럽트발생으로 ISR 이실행되어야할때 사용자모드로바뀌는경우 운영체제에서사용자프로세스로복귀할때 프로세스기술및제어 37 3.4 프로세스제어 프로세스생성 유일한프로세스식별자할당 프로세스의주소공간할당 사용자주소공간및사용자스택 공유영역 (shared area) PCB 초기화 PC, SP, 초기상태, 우선순위, 적절한연결설정 새로운프로세스를준비큐, 또는준비 / 보류큐에삽입 다른자료구조를생성하거나확장 OS may maintain an accounting file 프로세스기술및제어 38

3.4 프로세스제어 프로세스교환 (Process Switching) 프로세스교환을유발하는사건들 Clock interrupt: t 최대허용된시간단위 (time slice) 가지나면발생 수행 준비 I/O interrupt 블록 준비 메모리폴트 ( 페이지부재 ) 수행 블록 트랩 (Trap) 수행중에발생한오류및예외상황 (exception) 해당프로세스가종료될수도있음 복구불가능한상황 시스템호출 ( 수퍼바이저호출, Supervisor call) file open 등 이때모드전환발생, 필요하면프로세스교환도발생함. 프로세스기술및제어 39 3.4 프로세스제어프로세스교환프로세스교환순서 1. PC 및모든레지스터등의처리기문맥을저장 2. 현재수행상태에있는프로세스 (P A ) 의 PCB 를갱신 3. P A 의 PCB를준비큐, 블록큐, 또는준비 / 보류큐중의하나에삽입 4. 실행할다른프로세스 (P B ) 를선택 5. P B 의 PCB를갱신 실행상태로전이 6. 메모리관리자료구조를갱신 7. P B 의 PCB 로부터문맥을복원 (restore) context switch ( 문맥교환 ) 모드전환과문맥교환은다른의미임에주의 모드전환은프로세스가바뀌는문맥교환없이도발생할수있음 프로세스기술및제어 40

3.4 프로세스제어프로세스교환프로세스교환순서 ( 계속 ) 프로세스기술및제어 41 OS 실행 (execution) 방식 분리된커널 3.5 운영체제의수행 전통적인커널실행방식 OS 코드는특권모드 (privileged mode) 에서실행되는독립적개체 Nonprocess Kernel 사용자프로세스내에서실행 사용자프로세스문맥내에 OS 소프트웨어가유지 프로세스가 OS 코드를실행중일때는특권모드를가짐 프로세스기반 OS (Process-Based dos) 시스템프로세스들의집합으로 OS를구현 다중처리기 (multi-processor) 또는다중컴퓨터환경에유용 프로세스기술및제어 42

3.5 운영체제의수행 OS 와사용자프로세스와의관계 프로세스기술및제어 43 3.5 운영체제의수행 사용자프로세스내에서 OS 실행 사용자프로세스문맥내에 OS 소프트웨어가유지 OS 코드실행시에는별도의커널스택을사용함 프로세스가 OS 코드를실행중일때는특권모드를가짐 프로세스기술및제어 44

핵심고려사항 3.6 보안이슈 (Security Issues) 시스템상에서공격자나악성소프트웨어가비인가특권을획득하는것을방어 특히루트 (root) 권한획득을방어 시스템접근위협 침입자 (Intruders) 기만자 (Masquerader, 가장한자 ): 외부자 권리침해자 (Misfeasor, 불법행위자 ): 내부자 은밀한사용자 (Clandestine user): 외부자또는내부자 악성소프트웨어 (Malicious software) malware: 멀웨어 프로세스기술및제어 45 3.6 보안이슈 악성소프트웨어 (Malicious software) Malware 라고도함 유형 기생 (Parasitic) 형 다른유틸리티프로그램에달라붙어그들이실행될때감염을시도한다. 바이러스 /logic bomb/backdoor b/b 독립실행형 Worm/bot 형태 프로세스기술및제어 46

3.6 보안이슈 대응책 침입탐지시스템 (Intrusion detection systems) To detect human intruder and malicious software behaviour. 구성방식 호스트기반 : 한기계내를탐지 네트워크기반 : 한서브네트워크전체를탐지 구성요소 Sensors: 데이터수집 Analyzers: 센서로부터수집된데이터분석 User Interface: 시스템의행위를제어 프로세스기술및제어 47 3.6 보안이슈대응책대응책 ( 계속 ) 인증 (Authentication) 두단계로구성 Identification( 식별 ) Verification( 검증 ) 사용자신원인증의일반적수단 Something the individual id lknows 패스워드, PIN, 미리등록된질문 / 답변 Something the individual possesses 키카드, 스마트카드, 열쇠 Something the individual is (static biometrics) Finger prints, Retina, Face Something the individual does (dynamic biometrics) Voice / Handwriting / Typing rhythm Recognition 프로세스기술및제어 48

3.6 보안이슈대응책대응책 ( 계속 ) 접근제어 (access control) 자원에접근하는모든것들은감시대상임 접근제어관리자는권한데이터베이스를구축 시스템내감사기능은사용자들이커널에접근하는모든행위에대해기록함. 방화벽 (firewall) 네트워크외부의컴퓨터들과인터페이스를담당하는전용컴퓨터 네트워크안쪽의민감한파일들을보호 방화벽의설계목적 내 외부를오가는모든트래픽은방화벽을경유해야함. 인가된트래픽만이통과할수있다. 침투에대한면역성이있어야한다. 프로세스기술및제어 49 UNIX SVR4 의프로세스관리 모델 : OS 가사용자프로세스환경내에서실행 9 개의프로세스상태를가짐 pid 0: swapper pid 1: init 프로세스기술및제어 50

UNIX SVR4 의프로세스관리 프로세스기술 (Process Description) 프로세스기술및제어 51 프로세스테이블 UNIX SVR4 의프로세스관리 프로세스기술및제어 52

U 영역 (U area) UNIX SVR4 의프로세스관리 프로세스기술및제어 53 프로세스제어 fork() UNIX SVR4 의프로세스관리 프로세스테이블에한슬롯 (slot, 엔트리 ) 를할당 유일한프로세스 ID (PID) 를할당 부모의프로세스이미지를복사 부모가소유하고있는모든파일들의참조계수 (count) 를증가 자식프로세스를준비상태로설정 부모프로세스에는자식의 PID를, 자식프로세스에는 0을반환 디스패처 (Dispatcher) 는다음중하나를수행 제어를부모프로세스가유지 자식프로세스에제어를넘김 다른프로세스에게제어를넘김 프로세스기술및제어 54

프로세스및 PCB 정의 프로세스상태 요약 2- 상태모델, 5- 상태모델, 7- 상태모델 ( 보류상태포함 ).. 프로세스기술 식별, 상태정보, 제어정보 프로세스제어 모드전환 프로세스교환 UNIX SVR4 의프로세스관리 9- 상태모델 문맥 (context): 사용자문맥, 레지스터문맥, 시스템문맥 운영체제기술및제어 55