목차 1. 운영체제 2. 프로세스 3. 리눅스실습 09611093 유주환 11731016 김원재

35
목목 1. 목목목목 2. 목목목목 3. 목목목목목 09611093 목목목 11731016 목목목 1 10611105 목목목

Upload: eagan-franklin

Post on 03-Jan-2016

71 views

Category:

Documents


0 download

DESCRIPTION

목차 1. 운영체제 2. 프로세스 3. 리눅스실습 09611093 유주환 11731016 김원재. 10611105 장훈희. 컴퓨터 운영체제란 Operating System 의 약자로 OS 라고하고 운영체제는 하드웨어와 사용자 사이에 위치하며 컴퓨터 시스템을 관리하는 프로그램을 말합니다. 역할 - 사용자와 컴퓨터 시스템간의 인터페이스 정의 - 사용자들간의 하드웨어의 공동사용 - 여러 사용자간의 자원 공유 - 자원의 효과적인 운영을 위한 스케쥴링 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 목차 1. 운영체제 2. 프로세스 3. 리눅스실습 09611093 유주환 11731016 김원재

1

목차

1. 운영체제

2. 프로세스

3. 리눅스실습

09611093 유주환11731016 김원재

10611105 장훈희

Page 2: 목차 1. 운영체제 2. 프로세스 3. 리눅스실습 09611093 유주환 11731016 김원재

2

컴퓨터 운영체제란 Operating System 의 약자로 OS 라고하고 운영체제는 하드웨어와 사용자 사이에 위치하며 컴퓨터 시스템을 관리하는 프로그램을 말합니다 .

역할

- 사용자와 컴퓨터 시스템간의 인터페이스 정의- 사용자들간의 하드웨어의 공동사용 - 여러 사용자간의 자원 공유 - 자원의 효과적인 운영을 위한 스케쥴링 - 입출력에 대한 보조 역할 - 에러에 대한 처리 - 사용자들간의 간섭 방지- 자원의 사용량 계산- 병렬 수행을 위한 편의 제공- 데이터에 대한 보안과 신속한 사용- 통신 네트워크 관리

Page 3: 목차 1. 운영체제 2. 프로세스 3. 리눅스실습 09611093 유주환 11731016 김원재

3

운영체제의 목적 사용자를 위한 편리성과

자원관리를 위한 효율성

처리능력 - 일정시간 처리양

신뢰도 - 컴퓨터가 잘작동

응답시간 - 결과출력 경과시간

사용가능도 - 필요할 때 얼마나 빨리 사용하 는가

[ 그림 2-3] 운영체제 목적

Page 4: 목차 1. 운영체제 2. 프로세스 3. 리눅스실습 09611093 유주환 11731016 김원재

4

시스템 구성요소 사람 ( 사용자 , 프로그래머 , 관리자 )

시스템 프로그램( 응용 프로그램 )

운영체제

하드웨어

가상머신

API제공

기능 제어

Page 5: 목차 1. 운영체제 2. 프로세스 3. 리눅스실습 09611093 유주환 11731016 김원재

5

운영체제의 발전과정(1) 제 0 세대

1)1940 년대 : 가장 초창기 컴퓨터

2) 직렬 처리 (Serial Processing)

3) 운영체제가 존재하지 않음

4) 프로그래머는 하드웨어와 직접적으로 상호 작용함

5) 입력장치 ☞ 카드 판독기 , 출력장치 ☞ 라인 프린터 (Line Printer)

6) 한 번에 하나의 작업만 수행한다 .

문제점

- 스케줄링 (Scheduling) 문제 : 작업을 순차적으로 하나씩 처리한다 .

- 입력장치는 느리게 동작해 준비 시간 (Setup Time) 이 많이 걸림

Page 6: 목차 1. 운영체제 2. 프로세스 3. 리눅스실습 09611093 유주환 11731016 김원재

6

운영체제의 발전과정(2) 제 1 세대

1)1950 년대

2) 간단한 일괄 처리 운영체제 (Simple Batch OS)

3) 초기 시스템의 작업 준비 시간을 단축하기 위해서 고안되었다 .

4) 자기테이프나 자기디스크 등의 전송 속도가 빠른 보조기억장치를 이용해서 프로세서의 속도를 향상

문제점

- 스케줄링 문제 : 작업 준비 시간은 단축했지만 작업량이 적은 일이 많은 일 뒤에 있게 되면 ,

작업량이 많은 일이 끝날 때까지 기다려야 함 . 곧 작업이 시작되면 모든 시스템을 독점함

- 출력시간과 작업 시간이 길어짐 : 일괄 처리될 모든 일들이 끝나야 출력됨

Page 7: 목차 1. 운영체제 2. 프로세스 3. 리눅스실습 09611093 유주환 11731016 김원재

7

운영체제의 발전과정일괄처리 시스템 (batch processing system) 컴퓨터 처리방법 중 하나로 처리할 데이터를 일정량을 모아 한꺼번에 처리

장점 - 컴퓨터 시스템을 효율적으로 사용할 수 있으며 자원 관리와 스케줄링이 간단하다 . 단점 - 작업의 제출에서부터 최종 결과를 얻을 때까지의 시간이 비교적 길다 .

프로그램의 오류수정 작업이 어려우며 CPU 가 유휴 상태로 되기 쉽다

* 단점 보완 방법으로버퍼링 - 한 장치에서 다른 장치로 데이타를 송신할 때 일어나는 시간 차이나 데이타의 흐름 속도의 차이를 극복하기 위해 사용되는 저장장치 .

스풀링 - 한 대의 컴퓨터 시스템으로 CPU 의 처리조작과 병행해서 입력 장치나 출력장치가 동시에 데이타의 읽고 쓰기의 조작을 하는 상태를 가리킨다

Page 8: 목차 1. 운영체제 2. 프로세스 3. 리눅스실습 09611093 유주환 11731016 김원재

8

운영체제의 발전과정 (3) 제 2 세대

1)1960 년대

2) 분할 시스템

3) 하드웨어 : 트랜지스터 사용

4) 다중 프로그래밍 (Multi-programming) 시스템- 여러 프로그램들이 주기억장치에 공존함- 운영체제는 공존한 프로그램들에게 프로세서를 교대로 할당한다 .

5) 실시간 (Real-time) 시스템- 가솔린 공정 제어 및 군사 목적으로 개발- 즉시 응답을 요구하는 곳에서 사용됨- 시스템의 활용도보다는 빠른 응답이 중요함- 활용도가 비교적 낮은 편이다 .

Page 9: 목차 1. 운영체제 2. 프로세스 3. 리눅스실습 09611093 유주환 11731016 김원재

9

운영체제의 시스템 다중 프로그래밍 시스템 (multi programming system) - 하나의 중앙처리장치에 여러 개의 프로그램을 실행시킴으로써 짧은 시간에 많은 작업을 수행할수 있게 하여 시스템의 효율을 높여 주는 것

장점 - 다중 작업을 구현하므로 시스템의 효율이 높다

단점 - CPU 의 유휴 시간이 길어진다

단점 보완 방법기억장치 관리 기법 , CPU 스케쥴링 기법이 필요

Page 10: 목차 1. 운영체제 2. 프로세스 3. 리눅스실습 09611093 유주환 11731016 김원재

10

운영체제의 시스템실시간 시스템 (real time system)- 처리 대상 데이터가 발생하는 즉시 처리하여 결과를 산출하는 방식

- 시스템에 장애가 발생할 경우는 입력 데이터의 재생성이 불가능하므로 백업장비가 필요하다

장점 - 사용자의 노력이 절감되고 처리시간이 단축되며 처리비용이 절감

단점 - 입출력 자료의 일시저장 및 대기가 필요하고 특정상태의 재현이 불가능

시스템에 장애가 발생할 때 단순한 재실행이 불가능

Page 11: 목차 1. 운영체제 2. 프로세스 3. 리눅스실습 09611093 유주환 11731016 김원재

11

운영체제의 발전과정 (3) 제 2 세대 .

6) 시분할 (Time sharing) 시스템

- 사용자가 터미널을 통해서 직접 컴퓨터와 접촉하여 대화식으로 작동시킨다 .

- 사용자가 요구 사항을 입력하면 , 컴퓨터는 요구 사항을 처리하여 바로 응답함- 프로그램을 효율적으로 개발하기 때문에 많이 진보되었다 .

5) 다중 처리 (Multi-processing) 시스템- 한 시스템이 여러 프로세서를 사용한다 .

- 시스템의 처리 능력을 향상시킨다 .

- 여러 프로그램을 동시에 실행해서 프로세서와 입출력장치를 최대한 활용한다 .

Page 12: 목차 1. 운영체제 2. 프로세스 3. 리눅스실습 09611093 유주환 11731016 김원재

12

운영체제의 시스템

시분할 시스템 (time sharing system) - 한 대의 컴퓨터로 일정한 시간 내에 여러 가지 작업을 처리하는 방법

사용자 대기 시간을 줄이기 위해 개발된 명령어를 이용한 대화식 처리 형태로서 다중 프로그래밍과 다중 사용자 시스템이 혼합된 형태이다 .

장점 - 여러 사람이 공동으로 CPU 를 사용하며 여러 개의 프로그램을 기억장치에 적재

2) 단점 - 운영체제를 복잡하게 한다

Page 13: 목차 1. 운영체제 2. 프로세스 3. 리눅스실습 09611093 유주환 11731016 김원재

13

운영체제의 발전과정(4) 제 3 세대

1)1960 년대 중반에서 1970 년대 중반까지

2)IBM 360 계열이 효시

3) 범용 시스템으로 사용자에게 모든 기능을 제공한다 .

4)UNIX 시스템 출현

5) 하드웨어 : 집적회로 (IC) 사용

6) 다중 모드 시스템 : 일괄처리 , 다중처리 , 시분할 처리 , 실시간 처리 등을 제공함

7) 문제점- 시스템에 대한 이해 기간이 많이 걸림- 프로그램의 실행 시간에 오버헤드 (Overhead) 가 많이 걸림- 디버깅 (Debugging) 시간이 많이 걸림- 사용자와 하드웨어 사이에 소프트웨어 계층을 도입하여 많이 진보되었지만 , 계층이 너무 복잡하여 이해하는데 너무 어려움

Page 14: 목차 1. 운영체제 2. 프로세스 3. 리눅스실습 09611093 유주환 11731016 김원재

14

운영체제의 발전과정(5) 제 4 세대 1)1970 년대 중반부터 1980 년대까지

2) 네트워크 운영체제 (Network OS)

3) 멀리 떨어져 있는 컴퓨터를 네트워크로 연결하여 사용

4) 데이터베이스 시스템의 중요성 대두

5) 하드웨어 : 마이크로프로세서 (Microprocessor) 사용

6) 마이크로프로세서 사용

- 개인용 컴퓨터 (Personal Computer) 의 등장- 컴퓨터의 가격이 매우 저렴해졌다 .

7) 분산 시스템 (Distributed System)- 한 대의 컴퓨터만 사용하지 않고 지역적으로 멀리 떨어져 있는 여러 컴퓨터를 사용함- 통신을 통한 정보 보호 문제가 대두됨- 분산 데이터 처리 (Distributed Data Processing) 방법 등장

Page 15: 목차 1. 운영체제 2. 프로세스 3. 리눅스실습 09611093 유주환 11731016 김원재

15

운영체제의 시스템◦ 분산처리 시스템 (distributed processing system) 1980 년대지역적으로 분산되어 있는 여러 대의 컴퓨터가 프로세서 사이의 특별한 데이터 링크를 통해 교신 하면서 한 조직 내의 동일한 업무를 수행하고 정보 교환을 위해 네트워크로 상호 결합된 시스템

- 특징 : 자원공유 , 신뢰성 , 계산속도 증가 , 통신

- - 각 컴퓨터에는 동일한 운영체제가 작동되며 , 전체 컴퓨터는 하나의 시스템으로 통제된다 .

다중 처리 시스템 (multi processing system) 1990 년대- 하나의 공용 기억장치를 통하여 두 개 이상의 프로세서를 제어하는 시스템- 공유된 주기억장치의 사용을 스케줄링 하는데 어려움이 존재

Page 16: 목차 1. 운영체제 2. 프로세스 3. 리눅스실습 09611093 유주환 11731016 김원재

16

프로세스라는 용어는 1960 년대 멀틱스 시스템 설계자들이 처음으로 사용하였다

가장 일반적인 정의는 실행중인 프로그램이다

실행중인 프로그램이랑 디스크에 저장되어 있던 실행 가능한 프로그램들이 메모리에 적재되어 운영체제의 제어를 받는 상태를 말한다

1. 프로세스의 개요

Page 17: 목차 1. 운영체제 2. 프로세스 3. 리눅스실습 09611093 유주환 11731016 김원재

17

2. 메모리에 존재하는 프로세스 주소 공간구조커널

스텍

( 할당되지 않은 메모리 )

실행힙

데이터 ( 정적변수 )

텍스트 (코드 )

스텍의 꼭대기

프로그램의 경계

가상 주소 증가

Page 18: 목차 1. 운영체제 2. 프로세스 3. 리눅스실습 09611093 유주환 11731016 김원재

18

프로세스는 실행 유형에따라 3 가지로 구분하여 생각할 수 있다

운영체제 프로세스

사용자 프로세스

병행 프로세스 1. 독립프로세스 2.협동프로세스

3. 프로세스의 종류

Page 19: 목차 1. 운영체제 2. 프로세스 3. 리눅스실습 09611093 유주환 11731016 김원재

19

4. 프로세스의 상태변화

Page 20: 목차 1. 운영체제 2. 프로세스 3. 리눅스실습 09611093 유주환 11731016 김원재

20

5. 프로세스 제어 블록 (PCB)프로세스 식별자프로세스 상태프로그램 카운터레지스터 저장영역프로세서 스케줄링 정보계정정보입출력상태정보메모리 관리정보

Page 21: 목차 1. 운영체제 2. 프로세스 3. 리눅스실습 09611093 유주환 11731016 김원재

21

6. 프로세스 교환

Page 22: 목차 1. 운영체제 2. 프로세스 3. 리눅스실습 09611093 유주환 11731016 김원재

인터럽트 : 현재 실행되는 프로세스와 별도로 외부에서 발생되는 여러종류의 이벤트 ( 입출력 동작의 종료 ) 에 의해 발생한다 .대표적인 인터럽트의 예 1. 입출력 인터럽트 : 입출력 동작이 발생한 사실을 확인한 후 이벤트를 기다리는 프로세스를 준비상태로 바꾸고 실행할 프로세스를 결정한다 2. 클록 인터럽트 : 현재 실행중인 프로세스의 할당 시간을 조사하여 실행중인 프로세스를 준비 상태로 바꾸고 다른 프로세스를 디스패치하여 실행 상태로 바꾼다 .

트랩 : 부적절한 파일 접근이나 현재 실행중인 프로세스에 의해 발생되는 오류나 예외상황 때문에 발생한다

7. 인터럽트와 트랩

Page 23: 목차 1. 운영체제 2. 프로세스 3. 리눅스실습 09611093 유주환 11731016 김원재

8. 인터럽트 처리 과정

PC

스택영역

A

B

메모리 레지스터

프로그램 A

PC

Page 24: 목차 1. 운영체제 2. 프로세스 3. 리눅스실습 09611093 유주환 11731016 김원재

24

쓰레드

Page 25: 목차 1. 운영체제 2. 프로세스 3. 리눅스실습 09611093 유주환 11731016 김원재

25

프로세서를 사용하는 기본단위이면서 프로그램을 실행하는 프로세스 내의 개체

프로세스내에서의 제어 흐름 ( 하나의 실행 단위 ) CPU 이용량 단위의 기본 , 각 쓰레드마다 PCB 를

가지고 있다 . 명령어를 독립적으로 실해할 수 있는 하나의 제어 흐름 .

1. 쓰레드 개요

Page 26: 목차 1. 운영체제 2. 프로세스 3. 리눅스실습 09611093 유주환 11731016 김원재

26

2. 쓰레드 메모리 구성

Page 27: 목차 1. 운영체제 2. 프로세스 3. 리눅스실습 09611093 유주환 11731016 김원재

27

사용자에 대한 응답성 증가

프로세스의 자원과 메모리 공유가능

경제성 :: 한 프로세스의 자원을 공유하므로 프로세스를 생성하는 것으로 오버헤드를 줄일 수 있음

다중 프로세서 구조 활용 가능

3. 쓰레드의 장점

Page 28: 목차 1. 운영체제 2. 프로세스 3. 리눅스실습 09611093 유주환 11731016 김원재

28

4. 단일 쓰레드 프로세스 모델

Page 29: 목차 1. 운영체제 2. 프로세스 3. 리눅스실습 09611093 유주환 11731016 김원재

29

5. 다중 쓰레드 프로세스 모델

Page 30: 목차 1. 운영체제 2. 프로세스 3. 리눅스실습 09611093 유주환 11731016 김원재

30

6. 쓰레드의 상태변화

Page 31: 목차 1. 운영체제 2. 프로세스 3. 리눅스실습 09611093 유주환 11731016 김원재

31

하드링크 / 심볼릭링크

A1

원본

링크

inode

Ln 파일이름 링크이름

Page 32: 목차 1. 운영체제 2. 프로세스 3. 리눅스실습 09611093 유주환 11731016 김원재

32

하드링크 / 심볼릭링크

A1

원본

링크

inode

inode

Ln –s 파일이름 링크이름

Page 33: 목차 1. 운영체제 2. 프로세스 3. 리눅스실습 09611093 유주환 11731016 김원재

33

하드링크 / 심볼릭링크

A2

A1

원본

카피

inode

inode

Cp 파일이름 복사이름

Page 34: 목차 1. 운영체제 2. 프로세스 3. 리눅스실습 09611093 유주환 11731016 김원재

34

퍼미션 변경CHMOD [권한값 ] [파일명 ]

첫 번째 , 숫자를 이용r(읽기 )=4 w(쓰기 )=2 x( 실행 )=1 이며

만약 ,( -rw--wx—x) 으로 권한 값을 주는 명령어를 쓴다면 chmod 631 파일명 이 된다 .

두 번째 , 문자를 이용 chmod [옵션 ] (u|g|o|a)(+|-)(r|w|x) 파일 or 디렉토리

u=user, g=group ,o=other ,a=all ,+ => 퍼미션 추가 , - => 퍼미션 삭제 , = =>퍼미션을 일치시킴

만약 -rw--wx--x 으로 권한 값을 주는 명령어를 쓴다면 chmod g+rw,o+wx,o+x 파일명 이 된다

Page 35: 목차 1. 운영체제 2. 프로세스 3. 리눅스실습 09611093 유주환 11731016 김원재

35

프로세스 관리좀비 프로세스자식 프로세스가 모든 자원을 반납했지만 부모 프로세스가 종료 상태정보를얻지 못했을 때 좀비 프로세스가 발생한다 .

고아 프로세스일반적으로 자식프로세스가 종료된후 부모 프로세스가 종료되는데 자식 프로세스 보다 부모 프로세스가 먼저 종료 되면 자식 프로세스는 고아가 된다 .

데몬 프로세스사용자가 직접적으로 제어하지 않고 백그라운드를 돌면서 작업하는 프로그램이다 .