Operating system #2 Process

Slides:



Advertisements
Similar presentations
컴퓨터와 인터넷.
Advertisements

제 4 장 프로세스 Section 1 프로세스의 개념 Section 2 프로세스 스케줄링
인공지능실험실 석사 2학기 이희재 TCP/IP Socket Programming… 제 11장 프로세스간 통신 인공지능실험실 석사 2학기 이희재
1. Windows Server 2003의 역사 개인용 Windows의 발전 과정
제 9 장 구조체와 공용체.
10장. 인터럽트 Lecture #10.
운영체제 4장 요약정리(CPU 스케줄링) 2A 박훈.
운영체제 (Operating System) (하드웨어와 응용 프로그램 사이의 인터페이스 역할을 담당하는 시스템 소프트웨어)
04 CPU 스케줄링 CPU Scheduling
제15장 파일 입출력 문자열을 출력하는 여러가지 방법 (15-2쪽) 문자열만 처리하는 입출력 함수
Linux서버를 이용한 채팅프로그램 지도 교수님 : 이형원 교수님 이 름 : 이 은 영 학 번 :
07. 디바이스 드라이버의 초기화와 종료 김진홍
제10강 중앙처리장치 1.
Chap08 다중 스레드 8.1 스레드 개요 8.2 Thread 클래스와 스레드 생명주기 8.3 스레드 생성과 사용
Chapter 06 프로세스와 예약작업 관리 Solaris 1. 프로세스 관리
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
3 프로세스와 스레드.
Chapter2 프로세스란 조은성.
13 인덱스 인덱스의 개념 인덱스의 구조 인덱스의 효율적인 사용 방법 인덱스의 종류 및 생성 방법 인덱스 실행 경로 확인
DK-128 ADC 실습 아이티즌 기술연구소
DK-128 실습 EEPROM 제어 아이티즌 기술연구소
타이머카운터 사용법 휴먼네트웍스 기술연구소
제3,4,5장 프로세스, 스레드 관리 CPU 스케줄링.
4. LAN의 배선체계 (3장. LAN: Local Area Network)
PSW : PROGRAM STATUS WORD
Sungkyunkwan University OS Project Dongkun Shin
03. 병행 프로세스 (Parallel Process)
2장 프로세스 과목: 운영체제 학번: 이름:오승현.
2주차 운영체제-프로세스 2-B 장정훈.
1장 컴퓨터 시스템의 개요 - 컴퓨터의 기본 시스템(프로세서)을 이해한다. - 명령어 실행 주기를 알아본다.
1장 운영체제 2-C반 운영체제 박소라.
제2장 프로세스 이나현.
Operating Systems Chapter 03 프로세스 개념.
Operating Systems Chapter 03 프로세스 개념.
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
리눅스 시스템 & 커널 기초 P.46 – P.53 이름: nsh009 학번: 112 1/20.
3장 프로세스와 스레드 프로세스의 상태와 변환 과정을 이해 한다 프로세스의 생성과 종료 등 프로세스에 대한 작업을 이해한다.
컴퓨터시스템 구조 Computer System Architecture.
2.1 개요 ★TIP 프로세스란? 부팅 실행중인 프로그램, 비동기적 행위 등
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
자바 5.0 프로그래밍.
2. 프로세스 관리 프로세스 중단과 재시작 중단과 재시작을 추가한 프로세스 상태 변화
제 1 장 운영 체제의 개요 Section 1 운영 체제의 개념 Section 2 운영 체제의 구성과 기능
Tiny OS와 NesC Tiny OS Part1. Won Mi Sun – 17 지능제어 연구실.
DK-128 실습 내부 EEPROM 제어 아이티즌 기술연구소 김태성 연구원
DK-128 실습 타이머카운터 사용법 아이티즌 기술연구소
2. 컴퓨터 시스템의 동작 명령어 구성 연산 종류와 기능에 따라 오퍼랜드 부분을 다양하게 활용 가능.
Part 4 클래스 라이브러리 Chapter 10 : 다중 스레드 Chapter 11 : 패키지와 주요 클래스
ARM Development Suite v1.2
제 2장 프로세스 관리와 CPU 스케줄링 2.1 프로세스의 개념 2.2 CPU 스케줄링의 목적과 유형
( Windows Service Application Debugging )
운영체제 (Operating System) (하드웨어와 응용 프로그램 사이의 인터페이스 역할을 담당하는 시스템 소프트웨어)
Linux/UNIX Programming
Lecture #3 프로세스(Process) 신라대학교 컴퓨터공학과 - 운영체제.
DK-128 직렬통신 실습 아이티즌 기술연구소
AT MEGA 128 기초와 응용 I 기본적인 구조.
4대자원관리(입출력장치) 박정환.
운영체제 학번 : 이름 : 이원석 반 : 2B.
CPU 스케줄링  이성연.
3과목 운영체제 강사 이 민 욱.
논리회로 설계 및 실험 4주차.
학습내용 프로토콜 계층화 OSI 모델의 용어 및 기능 개체 서비스 접근점 (N) 프로토콜과 (N) 서비스 서비스 프리미티브
System Security Operating System.
제 4 장 Record.
엔코더 프로그램 설명 // 쓰레드를 사용하기 때문에 변수와 핸들을 전역변수로 지정 HANDLE hDevice;
Lecture #3 프로세스(Process).
스케줄링 2A 박남규.
Assembly 05 방호남 07 반지훈 09 박상욱.
2. 프로세스 B 안우진 - 운영체제 -.
CPU 스케줄링 과 목 명 : 운영체제 교 수 님 : 박승기교수님 학 과 : 컴퓨터소프트웨어 학번(반) : C
Presentation transcript:

Operating system #2 Process 조태문 2019-02-17

Definition - process 현재 실행 중이거나 곧 실행할 수 있는 PCB를 가진 프로그램 목적 또는 결과에 따라 발생되는 사건들의 과정을 말함. 지정된 결과를 얻으려는 일련의 계통적 동작 비동기적 행위로서 이는 앞에서 어떤 명령의 동작이 끝났음을 가리키는 신화가 오는 것으로써 다음 명령의 수행을 시작함. 프로세스가 할당하는 entity로서 dispatch를 할 수 있는 단위 2019-02-17

Discription - process 시스템 프로세스 다른 프로세스를 관리, 시스템을 감시, 사용자 프로세스를 생성, 입출력 프로세스를 생성하는 등 시스템 운영에 필요한 작업을 수행 사용자 사용자 코드 수행, 데이터 코드 수행 병행 다수의 프로세스들이 동시에 수행상태에 있는 프로세스 독립 타 프로세스로부터 독립적임 협동 타 프로세스로부터 영향을 받거나 타 프로세스에게 영향을 주는 프로세스

PCB(Process Control Block) 1/2 프로세스는 프로그램 자체와 PD(Process Descriptor), PCB으로 이루어져 있는 PD는 운영체제가 그 프로세스를 관리하는데 필요한 모드 정보를 유지하는 자료구조 테이블이다. 운영체제는 기억 장치에 PD를 유지하며 운영체제가 CPU를 다른 프로세스에 넘겨주고자 할 때, 프로세스의 모든 정보를 PD에 저장시키고 실행시 이를 재사용한다. 프로세스가 생성될 때 만들어지며 각각 고유한 PCB를 가진다. 상태 변화 시 프로세스 관리자에 의해 정보가 변경되어 진다. PCB 같은 상태의 프로세스들이 존재하는 리스트들은 FIFO, Queue, Stack, Priority queue, Tree list, Simple linked list 등의 리스트로 연결되어 구성한다.

PCB(Process Control Block) 2/2 프로세서가 적재된 기억장소의 주소에 대한 포인터 값. 포인터 준비, 실행, 대기, 종료 등의 상태를 나타낸다. 프로세서 현재 상태 프로세서 생성시 부여한 고유한 정수 번호의 값. 프로세서 식별자 다음에 실행할 명령어의 주소를 나타낸다. 프로그램 카운터 프로세서 스케줄링을 하기 위해 실행될 우선순위를 나타낸다. 프로세서 우선순위 누산기, 인덱스, 스택 레지스터 등의 상태 코드 정보를 가지고 있다. 각종 레지스터 경계 레지스터나 페이지 테이블들을 가지고 있다. 기억장치 관리 정보 입출력 요구사항, 입출력장치에서 오픈된 파일 리스트를 가지고 있다. 입출력 정보 프로세서가 실행 중에 어떤 이유로 인하여 실행을 중지해야 할 때 프로세서가 갖고 있던 값들을 보존하기 위해 사용된다. 문맥 저장 정보

(Suspended, Swapped-in Process State State Specification 활동상태 (Active, Swapped-in) 실행상태 (Running) 프로세서를 할당받은 상태 기억장치를 할당받은 상태 준비상태 (Runnalbe in memory) 필요한 자원을 모두 소유하고 프로세서를 요청하고 있는 상태 대기상태 (Sleeping in memory) 프로세서 외 다른 자원이 없는 상태 지연상태 (Suspended, Swapped-in 지연 준비상태 (Runnable swapped) 잃은 상태 지연 대기상태 (Sleeping swapped)

Process State Transition Running Terminated Sleep Preempt (Timer runout) Assign CPU (Dispatch) Runnable in memory Sleeping in memory 실행상태 Main memory Wakeup Created Swap out Swap in Swap out Runnable swapped Sleeping swapped 지연상태 Virtual memory Wakeup

Interrupt 시스템에서 예측하지 못한 사항이 발생한 상황 인터럽트의 종류 SVC(Supervisor Call) 인터럽트 : 기억장치 할당, 오퍼레이터와 대화 등 입출렵 인터럽트 : 입출력시 에러, 입출력 완료시 클럭(Clock) 인터럽트 : 프로세서 시간 할당량을 모두 사용할 시 콘솔(Console) 인터럽트 : 키보드에서 인터럽트 키를 누를 때 프로세스간 통신인터럽트 : 통신 메시지를 받을 때 발생 프로그램 검사인터럽트 : 정의 되지 않은 명령어 사용시 발생 하드웨어 검사인터럽트 : 하드웨어 자체 에러 시 발생 인터럽트 발생 실행중인 프로세스 중단 인터럽트 처리 시작 인터럽트 발생 장소, 원인 파악 인터럽트 서비스 결정 인터럽트 서비스 루틴 호출

Context switching 한 프로세스에서 다른 프로세스로 CPU가 할당되는 과정. Timer run-out, Device Interrupt, System call 등 시 발생되는 현상으로 Dispatch 되어 Running 중인 상태의 프로세스를 대기상태로 되돌린 후 새로운 프로세스에서 Dispatch는 일련의 과정 그러므로 할당 시간이 짧을 수록 Context switching이 비번해지며 이는 Over-head를 유발하여 성능 문제가 발생한다.

Thread about APP 흔히 미니 프로세스 혹은 Light Weight Process라고 부르며 이는 최소 하나 이상의 작업의 실행 주체임을 나타낸다. 현대적인 프로세스는 하나의 process는 최소 하나 이상의 Thread를 가지고 작업을 수행하며 여러 개의 thread를 Process 상에서 수행하여 Parallelism을 구현화 하기도 한다. 하나의 Process의 하위 Thread 들은 Process의 메모리(Heap storage, static storage, code section), Stack과 register를 모두 공유하기 때문에 IPC를 통한 자원 공유가 필요없지만 반대로 Parallel processing 중 Critical section, Deadlock 등 synchronization문제가 발생될 여지가 높다.