2장 프로세스 과목: 운영체제 학번:200605004 이름:오승현.

Slides:



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

컴퓨터 운영체제의 역사 손용범.
운영체제 Chapter 3 병형 프로세스 박요안.
운영체제 3주차 정리 박 남 규.
Power Java 제3장 이클립스 사용하기.
인공지능실험실 석사 2학기 이희재 TCP/IP Socket Programming… 제 11장 프로세스간 통신 인공지능실험실 석사 2학기 이희재
1. Windows Server 2003의 역사 개인용 Windows의 발전 과정
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 프로그래밍 언어 1-1 C 언어의 개론적 이야기 한글, 엑셀, 게임 등의 프로그램을 만들 때 사용하는 언어 ‘컴퓨터 프로그래머’라는 사람들이 제작 C 언어(C++ 포함)를 가장 많이 사용함.
연결리스트(linked list).
PHP입문 Izayoi 김조흔.
운영체제 4장 요약정리(CPU 스케줄링) 2A 박훈.
Windows Server 장. 사고를 대비한 데이터 백업.
시스템집적반도체 설계 검증 환경과 기법 Ch 7.
네트워크 스캔하기 WiFi 시리얼 보드 활용가이드 김영준 헬로앱스 (
제 3장 컴퓨터 시스템의 구조.
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
Linux서버를 이용한 채팅프로그램 지도 교수님 : 이형원 교수님 이 름 : 이 은 영 학 번 :
07. 디바이스 드라이버의 초기화와 종료 김진홍
Chapter 06 프로세스와 예약작업 관리 Solaris 1. 프로세스 관리
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
3 프로세스와 스레드.
저장장치 테이프 I/O장치 작업 사용자 프린터 디스크 주기억장치(RAM) OS 카드판독기 CPU 키보드 처리장치.
DK-128 ADC 실습 아이티즌 기술연구소
DK-128 실습 EEPROM 제어 아이티즌 기술연구소
타이머카운터 사용법 휴먼네트웍스 기술연구소
03. 병행 프로세스 (Parallel Process)
10장. 예외처리.
2주차 운영체제-프로세스 2-B 장정훈.
1장 컴퓨터 시스템의 개요 - 컴퓨터의 기본 시스템(프로세서)을 이해한다. - 명령어 실행 주기를 알아본다.
1장 운영체제 2-C반 운영체제 박소라.
Operating system #2 Process
Operating Systems Chapter 03 프로세스 개념.
Operating Systems Chapter 03 프로세스 개념.
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
메모리 관리 & 동적 할당.
멀티미디어시스템 제 6 장. 운영체제 IT응용시스템공학과 김 형 진 교수.
뇌를 자극하는 Windows Server 2012 R2
3장 프로세스와 스레드 프로세스의 상태와 변환 과정을 이해 한다 프로세스의 생성과 종료 등 프로세스에 대한 작업을 이해한다.
컴퓨터시스템 구조 Computer System Architecture.
2.1 개요 ★TIP 프로세스란? 부팅 실행중인 프로그램, 비동기적 행위 등
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
자바 5.0 프로그래밍.
2. 프로세스 관리 프로세스 중단과 재시작 중단과 재시작을 추가한 프로세스 상태 변화
7장 주기억장치 관리 A박도하.
DK-128 실습 내부 EEPROM 제어 아이티즌 기술연구소 김태성 연구원
2. 컴퓨터 시스템의 동작 명령어 구성 연산 종류와 기능에 따라 오퍼랜드 부분을 다양하게 활용 가능.
Part 4 클래스 라이브러리 Chapter 10 : 다중 스레드 Chapter 11 : 패키지와 주요 클래스
ARM Development Suite v1.2
컴퓨터 프로그래밍 기초 [01] Visual Studio 설치 및 사용방법
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
( Windows Service Application Debugging )
Lecture #3 프로세스(Process) 신라대학교 컴퓨터공학과 - 운영체제.
AT MEGA 128 기초와 응용 I 기본적인 구조.
4대자원관리(입출력장치) 박정환.
CPU 스케줄링  이성연.
TVM ver 최종보고서
발표자 : 이지연 Programming Systems Lab.
System Security Operating System.
Numerical Analysis Programming using NRs
과제 4: Thread (5월 9일까지) 4장 연습문제 풀이
제 4 장 Record.
Lecture #3 프로세스(Process).
06. 디바이스의 등록과 해제 김진홍
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
과 목 명 : 운영체제 담당교수 : 박 승 기 학 과 : 컴퓨터 소프트웨어 학 번 : 이 름 : 최 현 식
CHAP 15. 데이터 스토리지.
CODE INJECTION 시스템B 김한슬.
버스와 메모리 전송 버스 시스템 레지스터와 레지스터들 사이의 정보 전송을 위한 경로
6 객체.
2. 프로세스 B 안우진 - 운영체제 -.
Presentation transcript:

2장 프로세스 과목: 운영체제 학번:200605004 이름:오승현

1. 프로세스의 개요 과거 시스템은 단일 프로그래밍 시스템 으로 시스템의 자원이 낭비되며 시스템 의 성능이 저하되었다. 이를 해결하기 위 해 다중 프로그래밍 기법 을 사용하게 되 어 시스템의 효율성은 높아지는 대신 각 프로그램에 대한 강력한 통제가 필요하 게 되어서 등장 한 것이 프로세서 개념이 다.

2 . 프로세스의 정의 프로세스(Process)는 일반적으로 프로세서(처리기, CPU)에 의해 처리되는 사용자 프로그램, 시스템 프로그램, 즉 실행중인 프 로그램을 의미하며, 작업(Job), 태스크(Task)라고도 한다. 프로세스는 다음과 같이 여러 형태로 정의 할 수 있다. - PCB를 가진 프로그램 - 실기억장치에 할당되는 실체 - 프로세서가 할당되는 실체 - 프로시저가 활동중인 것 - 비동기적 행위를 일으키는 주체 - 지정된 결과를 얻기 위한 일련의 계통적 동작 - 목적 또는 결과에 따라 발생되는 사건들의 과정 - 운영체제가 관리하는 실행 단위

3.프로세서의 종류 -운영체제 프로세스 역할 : 실행순서 제어, 커널 영역 침범 방지, 사용자 프로 세서 생성 입출력 프로세서 생성 -사용자 프로세스 역할 : 사용자 프로그램, 데이터 코드 실행 -병행 프로세스 역할 : 여러 프로세서 동시 수행 상태 점검 -독립 프로세스 역할 : 다른 프로세서로부터 영향을 주지 않거나 영향을 받지 않도록 하는 것 -협동 프로세스 역할 : 하나의 프로세서가 다른 프로세서에 영향을 주거 나 영향을 받는 프로세서이다.

4. 프로세스 관리블(PCB) PCB(Process Control Block, 프로세스 제어 블록)는 운영체제가 프로세스에 대한 중요한 정보를 저장 해 놓는 곳으로, Task Control Block 또는 Job Control Block 이라고도 한다. 각 프로세스가 생성될 때마다 고유의 PCB가 생성 되고, 프로세스가 완료되면 PCB는 제거된다. PCB에 저장되어 있는 정보는 다음과 같다

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

5. 프로세스의 상태 프로세스는 실행되기 위하여 우선적으로 기억 장치를 할당받아 야 하고 할당받은 기억 장치에 자신의 프로그램과 데이터 등을 일 부라도 적재시켜야 한다. 이러한 관점에서 프로세스의 상태는 크 게 활동 상태(Active State)와 지연 상태(Suspended State)로 나누어 지는데, 활동 상태란 프로세스가 기억 장치를 할당받은 상태를 말 하며 지연 상태란 프로세스가 기억장치를 할당받지 못한 상태를 의미한다. -활동 상태(active, swapped-in) : 기억 장치를 할당 받은 상태 -실행 상태(running) : 프로세서를 할당받은 상태 -준비 상태(ready) : 필요한 자원을 모두 소유하고 프로세서를 요 청하고 있는 상태 -대기 상태(blocked, asleep) : 프로세서 외 다른 자원 없는 상태 -지연 상태(suspended, swapped-out) : 기억 장치를 잃은 상태 -지연 준비 상태(suspended ready) : 프로세서를 요청하고 있는 상 태 -지연 대기 상태(suspended blocked) : 프로세서와 다른 자원 없는 상태

5-1 프로세스 상태 전이도

6. 프로세스의 상태 전이 - 생성 : 프로세스 생성시 프로세스를 실행하기 위해 프로세스에 메모리 공간을 활당하고 프로그램의 코드 를 메모리에 적재 - 준비 : 프로세스가 준비 큐에 놓여진다. 스케줄러로 부터 CPU를 할당 받아 실행되기까지 기다린다 - 실행 : 스케줄러로부터 CPU를 할당 받아 프로세스 가 실행 - 대기 : CPU를 반납한 상태에서 프로세스가 특정 이 벤트가 발생하기를 기다린다.

6.1 스레드 스레드란? - 프로세스를 구성하는 실행부분과 환경부분에서 실행부분만 분리한것 - 스레드의 장점 - 프로세스를 구성하는 실행부분과 환경부분에서 실행부분만 분리한것 - 스레드의 장점 (1) 빠르게 작동하는 네트워크 프로그램 작성 (2) IPC의 사용이 필요없다 - 스레드의 단점 (1) Fork를 이용한 프로세스 기반의 프로그램보다 불완전하게 작동 할 수 있다 (2) 디버깅이 어렵다

8. 인터럽트와 문맥교환 8.1 인터럽트의 종류 인터럽트란? 컴퓨터의 장착된 장치나 컴퓨터 내의 프로그램으로부 터 오는 신호로서 운영체계가 하던일을 멈추고 다음에 무엇을 할 것인지를 결정하게 된다 8.1 인터럽트의 종류 SVC(Supervisor Call) 인터럽트 : 기억장치 할당, 오퍼레 이터와 대화 등 입출렵 인터럽트 : 입출력시 에러, 입출력 완료시 클럭(Clock) 인터럽트 : 프로세서 시간 할당량을 모두 사용할 시 콘솔(Console) 인터럽트 : 키보드에서 인터럽트 키를 누 를 때 프로세스간 통신인터럽트 : 통신 메시지를 받을 때 발 생 프로그램 검사인터럽트 : 정의 되지 않은 명령어 사용 시 발생 하드웨어 검사인터럽트 : 하드웨어 자체 에러 시 발생

8.2 인터럽트 처리 과정

1. 인터럽트가 발생하면 시스템은 항상 현재 실행 중이던 프로세를 중단 시키고 이 인터럽트에 대한 처리 시작 2. 컴퓨터 시스템의 인터럽트 처리기능이 실행 3. 인터럽트 처리기능은 우선 인터럽트가 어디에서 무엇때문에 발생했는지 파악 4. 인터럽트에 서비를 할지 결정 5. 결정한 경우에는 해당 인터럽트에 대한 인터럽 트 서비스 루틴을 호출하여 실행 6. 이같은 과정이 끝난후 인터럽트로 인하여 중지 되었던 프로세스가 다시 실행 될 수도 있으며 또 다 른 프로세스가 디스 패치 되어 실행 상태로 전이 될 수 있다

8.3 문맥 보존과 문맥 교환 - 문맥이란? 특정 프로세스와 관련된 정보의 총집합이다 - 문맥 보존이란? 모든 프로세스들은 각자 자신의 문맥을 가지며 실행 중에 인터럽트가 발생하면실행중인 프로 세스의 레지스터 문맥을 보존하게 되는 과정 - 문맥 교환이란? CPU를 다른 프로세스로 교환하기 위해 이전에 프로세스의 상태를 보관하고 새로운 프로세스 의 보관된 상태를 적재하는 작업 - 문맥 재 적재란? 언젠가 중지되었던 프로세스가 다시 프로세스를 할당받아 실행 상태로 전이되면이 프로세스는 이전에 중지될 당시에 저장해 두었던 레지스터 문맥등을 프로세스를 재적재하고 실행하게 된 다