Download presentation
Presentation is loading. Please wait.
1
운영체제 (B반) 박래환
2
1.운영체제란. 컴퓨터 시스템의 전반적인 동작을 제어하고조정하는 시스템 프로그램들의 집합
컴퓨터 사용자와 컴퓨터 하드웨어 간의 인터페이스로서 동작하는 시스템 소스프퉤어의 일종으로 다른 응용 프로그램이 유용한 작업을 할수있도록 환경을 제공해 준다. 컴퓨터 시스템의 자원들을 효율적으로 관리 하여 사용자가 보다 편리하고효과적으로 사용할수있도록 환경을 제공하는 여러 프로그램들의 모임으로 윈도우,리눅스 등이 이에 속한다.
3
2.운영체제의 목적 사용자와 컴퓨터 간의 인터페이스 제공 자원의 효율적인 운영 빛 자원 스케줄링 데이터 공유 및 주변장치 관리
처리 능력 및 신뢰도 향상, 사용 가능도 향상 응답 시간단축,반환 시간 단축
4
3.운영체제의 성능 평가기준 처리능력 반환시간 사용가능도 신뢰도
5
4.운영체제의 발달과정 1세대(1945~1955) 진공관을 사용하여 기계어를 직업사용한시기운영체제(X) 기계어로 프로그래밍
2세대(1955~1965) 진공관 코어 메모리를 사용하여 작업제어언어 사용(JCL) 언어 기계어 ,어셈블리어 사용 3세대(1965~1980) 트랜지스터,IC,디스크 사용하기 시작 공유 시스템,가상기억장치,다중프로그래밍,다중처리개발 다중모드 시스템 등장 일괄처리,시분할처리,실시간처리,다중처리 가능 Unix가 생긴시기
6
4.운영체제의 발달과정(2) 4세대 (1980~1990) LSI,VLSI 사용하기시작 온라인 처리 기법 개발 사용
마이크로프로세서 등장 가강 기계라는 개념이 생겨 여러 개의 운영체제를 하나의 기계에 탑제하여 여러 개의 기계로 보이게 하는 가상이라는 개념 생김 데이터 베이스 시스템 등장 사용자간의 정보공유 분산 데이터 처리 개념이 확립 5세대 (1990~현재) ULSI,조셉슨 소자,칼륨-비소소자,광소자를 사용 분산계산 시스템의실용화 지식 기반 시스템 등장 인공지능의 실현 논리 ,추론등 유추기능 강화 자연어 인터페이스를 사용하여 인간과 기계의 대화기능이 실형 ISDN, 개방형 시스템이 실현
7
5.하드웨어란 컴퓨터를 구성하는 기계장치와 컴퓨터의 모든 주변 장치
컴퓨터를 구성하는 기계 장치와 컴퓨터의 모든 주변 장치들을 합하여 하드웨어 (HARDWARE)라고 한다. 그러나 컴퓨터는 하드웨어만으로는 일을 처리할 수 없다. 일의 순서를 지시하고 운영하는 프로그램인 소프트웨어 (SOFTWARE)가 함께 있어야만 컴퓨터를 활용할 수 있다.
8
6.하드웨어 구성 입력 장치 기억 장치 제어 장치 연상 장치 출력 장치
9
5-1.입력 장치 문자나 숫자, 도형, 음성 등의 자료를 컴퓨터가 이해하고 처리할 수 있는 신호로 변환시켜 주는 장치이 다. 입력장치로는 자판(키보드)과 마우스가 널리 쓰이며, 이 밖에 트랙볼, 조이 스틱, 스캐너, 태블릿, 광펜, 터치 패드, 터치 스크린, 디지털 카메라, 음성 입력 장치 등이 있다.
10
5-2. 제어 장치 제어 장치는 주기억 장치에 기억된 프로그램을 차례대로 읽어들여 명령을 해독하고, 그 결과에 따라 각 장치에 적절한 신호를 보내 실제로 프로그램을 실행한다.
11
5-3. 연산 장치 사칙 연산, 논리 연산, 비교, 분류 등의 연산을 수행하며, 영상 자료나 소리 자료들을 처리한다.
12
5-4. 출력 장치 출력 장치는 주기억 장치에 2진수 형태로 기억된 자료를 사람이 알아볼 수 있도록 문자나 숫자, 도형 등 으로 바꾸어 나타내 주는 장치로서, 모니터, 프린터, 스피커, 플로터 등이 여기에 속한다. 모니터는 주기억 장치의 자료를 화면에 문자나 도형으로 나타내 주는 장치로서, 영상 표시 장치라고도 한다. 프린터는 처리된 결과를 용지에 인쇄하는 장치로서, 도트 매트릭스 프린터, 연전사 프린터, 잉크젯 프린터, 레이저 프린터 등이 있다. 현재는 잉크젯 프린터와 레이저 프린터가 널리 쓰이고 있다.
13
5-5. 기억장치 기억 장치는 주기억 장치와 보조 기억 장치로 구분된다. 주 기억 장치
주기억 장치는 실행할 프로그램이나 자료를 기억하고 연산 결과를 기억하는 장치로서, 인간의 두뇌와 같은 역할을 한 다. 보조 기억 장치보다 처리 속도가 빠르나, 가격이 비싸고 기억 용량이 적다. 주기억 장치는 롬(ROM:Read Only Memory) 과 램(RAM:Random Access Memory)으로 구성된다. 롬은 기억된 내용을 읽기만 할 수 있는 기억장치로서 전원이 차단되어도 기억 내용이 지워지지 않는다. 램ㅇ느 자유 롭게 읽고 기억시킬 수 있는 기억 장치로, 사용자의 프로그램이나 자료를 기억하는데 쓰인다. 일반적으로 주기억 장 치라고 하면 램을 뜻한다. 보조 기억 장치 보조 기억 장치는 컴퓨터의 주기억 장칙 기억 용량이 크지 않고, 컴퓨터의 전원 공급이 중단되면 기억된 프로그램이 나 자료가 주기억 장치에서 지워지므로 이 때 이러한 프로그램이나 자료를 보관하는 역할을 한다. 보조 기억 장치에 는 자기 기억 장치와 광디스크 장치로 나뉜다. 자기 기억 장치에는 플로피 디스크, 하드 디스크 등이 있다. 플로피 디스크는 기억 용량은 작으나 휴대가 간편하여 개인용 컴퓨터의 보조 기억 장치로 널리 쓰인다. 보통 디스켓이라고도 하며, 3.5인치(1.44MB)와 5.25인치(1.2mb) 플 로피 디스크가 있다. 하드 디스크는 기억 용량이 크고, 자료의 입,출력 속도가 빨라 개인용 컴퓨터의 주된 보조 기억 장치로 사용된다. 광디스크 장치는 레이저 디스크 장치라고도 한다. 플로피 디스크에 비해 기억 용량이 크고, 고속으로 검색할 수 있 어 최근 사용이 늘어나고 있다. 종류에는 시디 롬(CD_ROM), 디지털 비디오 디스크(DVD)등이 있다.
14
버퍼링 버퍼링이란 '버퍼(임시저장소)에 저장되는 작업을 하고 있다‘
버퍼는 데이터를 한곳에서 다른한곳으로 전송하는동안 일시적으로 그데이터를 보관하는 메모리의 영역이다. 버퍼링이란 버퍼를활용하는방식또는 버퍼를채우는동작 을말한다 입출력 채널 : 입출력이 일어나는 동안 프로세서가 거기에 매여 있어서 다른 일을 하지 못하는 점을 극복하는 방법 선택 채널 : 한 개의 보조 채널만을 갖고 있고 한 순간에 단 한 개의 주변기기만을 서비스 멀티플렉서 채널 : 여러 개의 보조 채널을 갖고 있고 한꺼번에 여러 개의 데이터 열을 인터리빙
15
하드웨어 사이클 스틸링 : 채널과 프로세서가 동시에 엑세스하려 할 때 채널에 우선순위를 높게 주는데 채널이 주기억장치에 엑세스하려는 동안 프로세서는 주기억장치를 사용하지 못하고 잠시 쉬어야한다. DMA : 입출력 량이 아주 많은 대형 시스템에 많이 사용 파이프라인 : 시스템의 효율을 높이기 위해 명령문을 수행하면서 몇 가지의 특수한 작업들을 병렬처리 하도록 설계한 하드웨어
16
6.소프트웨어 소프트웨어란? 자동차를 움직이기 위해서는 운전 기술을 가진 사람이 있어야 한다. 마찬가지로, 컴퓨터를 사용하는 데 있어서도 하드웨어를 지시하고 통제하여 결과를 얻도록 하는 명령들의 집합인 프로그램이 필요한데, 이것을 소프트웨어라고 한다. 소프트웨어는 크게 컴퓨터 시스템의 운영을 제어하고 관리하는 시스템 소프트웨어와 사용자가 필요한 일을 수행할 수 있도록 만든 응용 소프트웨어로 구분할 수 있다 시스템 소프트웨어란? 시스템 소프트웨어는 컴퓨터를 작동시키고, 효율적으로 사용하 기 위한 프로그램으로서, 사용자들이 컴퓨터를 보다 편리하게 이용할 수 있도록 도와준다. 즉, 컴퓨터 사용자는 하드웨어의 구조나 특성을 몰라도 시스템 소프트웨어의 사용 방법만 알면 컴퓨터를 이용할 수 있다. 시스템 소프트웨어에는 운영 체제, 언어 프로그램, 유틸리티 프로그램 등이 있다
17
어셈블리어 기계어와 일대일 대응이 되는 컴퓨터 프로그래밍의 저급언어이다.
기계어는 실제로 컴퓨터 CPU가 읽어서 실행할 수 있는 0과 1로 이루어진 명령어의 조합이다. 이러한 각 명령어에 대해 사람이 알아보기 쉬운 니모닉 기호(mnemonic symbol)를 정해 사람이 좀 더 쉽게 컴퓨터의 행동을 제어할 수 있도록 한 것이 어셈블리 언어이다.
18
고급 프로그래밍 언어 고급 프로그래밍 언어란 사람이 알기쉽도록 씌어진 프로그래밍 언어로서, 저급 프로그래밍 언어보다 가독성이 높고 다루기 간단하다는 장점이 있다. 컴파일러나 인터프리터에 의해 저급언어로 번역되어 실행된다. C 언어, 자바, 베이직 등 대부분의 프로그래밍 언어들은 고급언어에 속한다.
19
컴퓨터의 종류 디지털 컴퓨터 아날로그 컴퓨터 하이브리드 컴퓨터
일상생활에서 사용하고 있는 숫자나 문자, 기호 등을 수치적으로 코드화하여 필요한 정보를 산출하는 방식 아날로그 컴퓨터 전류, 전업, 온도, 습도, 그래프 등과 같이 연속적인 변량을 사용하여 필요한 정보를 산출하는 방식 하이브리드 컴퓨터 디지털 컴퓨터의 장점과 아날로그 컴퓨터의 장점을 따서 만든 컴퓨터 예) 택시 요금 계산기
20
사용 용도에 의한 분류 특수용 또는 전용 컴퓨터 범용 컴퓨터 개인용 컴퓨터 특정한 문제를 해결하기 위하여 설계, 제작된 컴퓨터
광범위한 분야에 걸친 문제들의 해결을 위하여 설계되어 제작된 컴퓨터 개인용 컴퓨터 비교적 가격이 저렴하고 크기가 작으며 사용하기 간편하게 만들어진 컴퓨터
21
컴퓨터 성능에 의한 분류 개인용 컴퓨터 : 데스크 탑, 랩톱, 노트북, 팜톱, PDA
워크스테이션 : 네트워크에 연결하여 서버로 사용 미니컴퓨터 : 중형 컴퓨터 대형 컴퓨터 : 메인 프레임 컴퓨터 슈퍼 컴퓨터 : 우주 및 항공, 기상예보, 유전자 해독 등에 사용
22
프로세서 (B) 박래환
23
1.프로세서 개념 프로세서의 사전적 정의는 메모리로 읽어 들여 실행 가능한 상태에 있는 프로그램 이다 즉 실행상태에 있는 프로그램이라는 뜻. 실행 되지 않은 프로그램은 프로세서가 아님.즉 메모리에 적제 되어 백그라운드 든 포그라운드든 실행되고 있는 상태에 있는 프로그램을 프로세서라함
24
프로세스의 정의 커널에 등록되어 커널의 관리하에 있는 작업
일반적으로 주기억장치에서 실행중인 프로그램 프로세스 관리 블록(PCB : Process Control Block)을 할당 받는 개체 PCB란? 커널에 등록된 각 프로세서들에 대한 정보를 저장하고 있는 커널 영역을 말한다. 커널이란? 운영체제에서 가장 핵심적인 역할인 메모리, 프로세서 등의 자원을 관리하며 시스템이 원활히 돌아갈 수 있도록 제어해준다.
25
2.프로세서 ID 리눅스에는 여러 프로그램들이 메모리에 적재 되므로 항상 여러프로세서가 실행되고 있다. 특별히 사용자가 실행하지 않아도 부팅하고 나면 기본적으로 실행되어 있는 프로세서들이 있는 이를 시스템 프로세서 라고 한다 각 프로세서는 각각의 고유한 번호를 가지고 있고 이를 프로세서 ID라고 부른다 프로세서가 많이 실행되어있는데 만약 같은 번호를 여러프로세서가 공유하게도니다면 관리하기 가 힘들때문에 프로세서 ID 는 하나의 ID에 하나의 프로세서가 할당되어있다 그리고 이번호는 65535번까지 할당되면 다시 최초의 시작번호로 할당
26
3.프로세스 관리 프로세서가 실행되는 상태에는 포그라운드 와백그라운드 두가지 형태가 있다 포그라운드
포그라운드는 프로세서의 동작 상태를 표준 출력인 모니터를 통해 확인이 가능하고 키보드 를 통해 입력을 할수도있다 즉 유저가 키보드로 입력하며 모니터로 보고 있는 프로세서 상태가 포그라운드. 포그라운드 상태의 프로세서는 프로세싱이 완전히 끝나야만 다른 프로세서를 불러 올수 도있고 다른 작업을 할수있다. 백그라운드 - 백그라운드는 포그라운드의 반대로 후위프로세스 상태라고 하는데 즉 사용자의 눈에 보이지 않게 프로세스가 실행되고있는 상태
27
4.프로세스에 대한 작업 시스템이 프로세스에 대해 수행할 수 있어야 하는 작업 프로세스의 생성 프로세스의 파괴
프로세스의 서스펜드 프로세스의 재시작 프로세스의 우선순위 변경 프로세스의 보류 프로세스의 깨움 프로세스의 디스패치
28
5.프로세스 생성 프로세스 생성에 필요한 작업 프로세스의 이름결정 프로세스에 초기 우선순위를 부여 PCB의 생성 프로세스에 초기자원을 할당 시스템에 존재하고 있는 프로세스들의 리스트에 삽입 모든 자식 프로세스는 하나의 부모 프로세스를 가지지만 부모 프로세스는 여러 개의 자식 프로세스를 가질 수 있다.
29
6.서스펜드와 재시작 프로세스 상태전이 활동 상태와 서스펜드 상태로 나뉨
서스펜션은 프로세스 자신이 할 수도 있고 다른 프로세스에 의해 될 수도 있다.
30
프로세스 상태전이와 제어블록
31
인터럽트 1.생성상태 (NEW) : 프로세스가 새롭게 생성된 상태
(사용자가 요청한 작업이 커널에 등록되어 커널 공간에 PCB등이 만들어지면서 프로세스가 처음 만들어 지는 상태) 2.준비상태 (READY) : CPU 사용을 위해(프로세서를 할당받기 위해) 기다리고 있는 상태 (프로세스가 주기억 장치를 비롯한 모든 필요한 자원을 할당받은상태에서 프로세서를 할당받기위해 기다리고 있는상태) 3.실행상태 (RUN) : CPU를 차지하여 현재 수행되고 있는 상태 (프로세스의 프로그램 코드가 주기억장치로 부터 읽혀지면서 프로세서에 의해 실행되고 있는 상태로 기억장치나 프로세서를 포함하여 프로세스가 원하는 모든 자원을 할당받은 상태) 4.대기상태 (BLOCK) : 프로세스가 자원을 요청한 후 이를 할당 받을 수 없어 이를 할당 받을 때까지 기다리고 있는 상태 (대기중이던 프로세스가 필요한 자원을 할당받으면 다시 준비상태로 전이되는데 이러한 전이를 조건만족이라 한다.) 5.종료상태 (EXIT) : 모든 수행 가능 프로세스 상태에서 종료된 상태
32
프로세스 상태 모형
33
7.인터럽트 란 작동 중인 컴퓨터에 예기치 않은 문제가 발생한 경우 CPU(중앙처리장치:central processing unit) 자체가 하드웨어적으로 상태를 체크하여 변화에 대응하는 것을 말한다. 인터럽트가 발생하면 그 순간 운영체계 내의 제어프로그램에 있는 인터럽트 처리 루틴(routine)이 작동하여 응급사태를 해결하고 인터럽트가 생기기 이전의 상태로 복귀시킨다. 인터럽트가 발생하는 원인으로는 프로그램을 실행하는 도중 갑작스런 정전이나 컴퓨터 자체 내에서 기계적인 문제가 발생한 경우(기계검사 인터럽트), 오퍼레이터나 타이머에 의해 의도적으로 프로그램이 중단된 경우(외부 인터럽트), 입출력의 종료나 입출력의 오류에 의해 CPU의 기능이 요청되는 경우(입출력 인터럽트), 프로그램 실행 중 보호된 기억공간 내에 접근하거나 불법적인 명령 수행과 같은 프로그램의 문제가 발생한 경우(프로그램검사 인터럽트) 등이 있다. 프로그래밍 방식에는 인터럽트 방식과 폴링(polling) 방식이 있는데 인터럽트 방식을 사용하면 두 가지 이상의 프로세서(processor:처리장치)를 동시에 수행할 수 있고, 이상(異常) 현상을 쉽게 파악할 수 있어 훨씬 효율적이다.
34
인터럽트의 종류 감시 프로그램 호출 인터럽트 입출력 인터럽트 외부 인터럽트 재시작 인터럽트 프로그램 감시 인터럽트
프로세스가 SVC를 수행하면 걸림 입출력 인터럽트 입출력 하드웨어가 발생시킴 외부 인터럽트 일정한 시간이 만기가 된 경우 또는 오퍼레이터가 콘솔에서 인터럽트 키를 입력하는 경우 또는 다중처리 시스템에서 다른 CPU로부터 신호가 왔을 경우 발생 재시작 인터럽트 오퍼레이터가 콘솔에서 재시작 단추를 누를때 또는 다중처리 시스템에서 다른 CPU로부터 재시작 SIGP 명령문이 도착되면 발생된다. 프로그램 감시 인터럽트 수행중인 프로세스가 0으로 나누거나 허용되지 않은 명령문을 실행하거나 오퍼레이션 코드를 잘못 사용할 때 발생
35
문맥교환 인터럽트가 발생하면 운영체제는 일단 인터럽트를 받은 프로세스의 상태를 기억시켜 두고 제어권을 IH에게로 넘긴다. 이런 작업을 문맥교환이라고 한다. PSW 명령문 수행의 순서를 조절하며 프로세스의 상태에 대한 여러가지 정보를 보관 현재 PSW, 새로운 PSW, 과거 PSW가 있다.
36
병행 프로세서 (b) 박래환
37
1.병행 프로세서란 병행 프로세스는 두개 이상의 프로세스들이 동시에 존재하며 실행 상태에 있느 것을 의미
여러 프로세스들이 독립적으로 실행되는 것을 독립적 병행 프로세스, 서로 협력하며 동시에 실행되는 것을 협동적 병행 프로세스라고한다. 병행 프로세스는 다중처리 시스템이나 불산처리 시스템에서 중요한 개념으로 사용된다.
38
2.프로세스 종류 독립적 병행 프로세스 서로 관련 없이 독립적으로 수행하는 병행 프로세스 협동적 병행 프로세스
상호 관련성을 갖고 동기적으로 수행하는 병행 프로세스
39
3.병행 프로세스의 처리 (상호배제) 어떤 프로세스가 공유 자원을 액세스 할 때 한 순간에 하나의 프로세스만 변경할 수 있도록 하는 기법 한 프로세스가 공유 자원을 사용하는 동안, 다른 프로세스가 이미 할당된 자원을 요구한다면 자원을 요구한 프로세스는 자원이 해제될 때까지 기다려야 하는 상황 해결방법 - 소프트웨어적인 해결(Dekker 알고리즘, Peterson 알고리즘) 하드웨어적인 해결(인터럽트 enable/disable, test-and-set 명령어, compare-and-swap 명령어)
40
3-1.병행 프로세스의 처리 (동기화) 둘 또는 그 이상의 프로세스가 시간에 따라 실행 순서가 이루어져야 할 경우, 이들 프로세스에 대한 처리 순서를 결정해야 하는 것 종류 세마포어 Dijkstra에 의해 고안된 프로세스 간의 동기화 문제 해결 도구 P(wait)와 V(signal) 두 가지 연산에 의해서만 액세스될 수 있는 통제 변수 모니터 병행 다중 프로그래밍에서 상호 배제를 구현하기 위한 특수 프로그램 기법 공유 자원을 할당하기 위한 병행성 구조 자료 추상호의 개념을 기초로 함
41
4.프로세스 간 통신 서로 다른 프로세스간의 동기화 문제를 해결하기 위한 일반적인 기법 통신 기법 공유 기억 장치
공유 기억 장치 통신하는 프로세스간에 기억 장치 공간의 일부를 공유함 통신 제공의 책임은 프로그래머에게 달려 있고 운영체제는 단지 공유 기억 장소만 제공한다. 메시지 시스템 프로세스가 공유 변수에 의존하지 않고도 메시지를 이용하여 통신 가능 메시지를 관리, 전달하는 책임은 운영체제에 있음
42
4-1.프로세스 간 통신 명명 직접 통신 메시지를 주거나 받기를 원하는 각각의 프로세스가 수신자나 송신자의 이름을 명시적으로 표현 통신을 원하는 모든 프로세스의 쌍 사이에는 링크가 자동으로 설정되며, 프로세스는 단지 통신하는 상대 프로세스의 고유 이름만 알면 됨 링크는 정확히 두 프로세스와 관계함 링크는 양방향 대칭적이고 일대일 통신 안전성과 신뢰성이 높음 간접 통신 우편함을 통하여 메시지를 보내거나 받을 수 있음 두 개의 프로세스는 공유 우편함을 갖고 있을 때에만 통신이 가능 각 통신 프로세스 쌍 사이에 각각 하나의 우편함에 관계되는 여러 개의 서로 다른 링크가 있을 수 있음 링크는 단방향 이거나 양방향일 수 있음
43
5.임계구역 임계 구역은 다중 프로그래밍 운영체제에서 여러 개의 프로세스가 공유하는 데이터 및 자원에 대하여 어느 한 시점에서는 하나의 프로세서만 자원또는 데이터를 사용하도록 지정된 공유 자원(영역) 을 의미한다
44
5-1.임계구역 특징 ㅍ임계구역에는 하나의 프로세스만 접근 할수 있으며, 해당 프로세스가 자원을 반납한 후에만 다른 프로세스가 자원이나 데이터를 사용할수있다 임계 구역은 특정 프로세스가 독접할수없다 임계 구역의 자원이나 데이터는 여러 프로세스가 사용해야 하므로 임계구역내에서 의작업은 신속하게 이루어져야한다 프로세스가 임계구역에 대한 진입을 요청하면 일정 시간내에 진입을 허락해야 한다 현재 임계구역에서는 실행되는 프로세스가 없다면 임계구역 사용을 기다리고있는 잔류 영역에 있는 프로세스의 사용을 허락해야 하며, 그이외에 있는 프로세스는 임게구역에 진입할 수없다.
Similar presentations