Lecture 1. Unix 시스템 개론

17
Lecture 1. Unix 시시시 시시 2001.4

description

Lecture 1. Unix 시스템 개론. 2001.4. 강의 내용. 1. UNIX 시스템이란 ? 2. UNIX 시스템의 역사적 배경 3. UNIX 시스템의 특징 4. UNIX BOOT 시스템 5. UNIX 시스템의 구성. 1. UNIX 시스템이란 ?. UNIX 시스템 정의 컴퓨터 시스템을 효율적으로 사용하기 위한 시스템 관리 프로그램 시스템 관리 프로그램 = 운영체제 = Operating System UNIX 의 탄생 - PowerPoint PPT Presentation

Transcript of Lecture 1. Unix 시스템 개론

Page 1: Lecture 1. Unix  시스템 개론

Lecture 1. Unix 시스템 개론

2001.4

Page 2: Lecture 1. Unix  시스템 개론

Lecture 1. UNIX 시스템 개론

UNIX 실습 2

강의 내용

1. UNIX 시스템이란 ?2. UNIX 시스템의 역사적 배경3. UNIX 시스템의 특징4. UNIX BOOT 시스템5. UNIX 시스템의 구성

Page 3: Lecture 1. Unix  시스템 개론

Lecture 1. UNIX 시스템 개론

UNIX 실습 3

1. UNIX 시스템이란 ?

UNIX 시스템 정의 컴퓨터 시스템을 효율적으로 사용하기 위한 시스템 관리 프로그램

시스템 관리 프로그램 = 운영체제 = Operating System

UNIX 의 탄생 1969 년 Bell Lab. 의 Ken Thompson 이 DEC 사의 PDP-7 에서

어셈블리 언어로 단일사용자용 UNIX 제 1 버전을 개발 1971 년 버전 2, 1973 버전 3 발표 후 다양한 시스템에 이식

UNIX 구현 언어 커널의 일부를 제외한 시스템의 90% 이상이 C 언어로 구현되었

고 , 시스템 프로그램이 공개됨 시스템 변경이 용이하고 하드웨어 시스템 변경이 용이해져 다른 특성의 UNIX 시스템이 수없이 발표됨

Page 4: Lecture 1. Unix  시스템 개론

Lecture 1. UNIX 시스템 개론

UNIX 실습 4

2. UNIX 시스템의 역사적 배경

Multics(OS)(G.E 645

UNIX

Version 3

Version 6

Version 7

PWB/UNIX

XENIX

Version II

System V

3 BSD

4.1 BSD

4.2 BSD

1969 년 : 최초의 Operating System

1970~1971 년 : UNIX Version 1 을Bell Lab. 에서 개발

1973 년 : C 언어로 UNIX 를 새롭게 개발

1975~1976 년 : 속도 및 이식성 향상상업용 버전으로 배포

1976 년

1981 년 : UNIX 를 일부XENIX 로 개발

1977 년1978 년

1984 년 1983 년

1981 년 :가상메모리지원vi editor 개발

1982 년 :실제 메모리지원

* 소형시스템용 *

AT&T 계통 UNIX* 비지니스용 *

Berkeley 계통 UNIX* 연구 개발용 *

XENIX 2.0

XENIXSystem V

1985 년 :완벽한 호환성이 있음

1979 년

*PWB : Programmers Work Bench *BSD : Berkeley Standard

Page 5: Lecture 1. Unix  시스템 개론

Lecture 1. UNIX 시스템 개론

UNIX 실습 5

2. UNIX 시스템의 역사적 배경 ( 계속 )

자료정리 1956 년과 1969 년 사이에 Bell 연구소는 하니웰컴퓨터 제작사의 전신인 G.E.(General Electric) 사 및 M.I.T 와 함께 Multics 개발에 참여 1971 년에 Bell 연구소는 UNIX 버전 1 을 개발하여 PDP-11/20 시 스템에서 운영체제로 사용 (UNIX 라는 이름은 단지 Multics의 반대개념에서 발생된 동의어인 UNI( 단독 ) 의 개념임 ) 1973 년에는 커널을 이루고 있는 언어를 고급언어인 C 언어로 작 성하여 시스템의 호환성을 향상 1976 년에 UNIX 의 버전 6 탄생 1977 년에는 인터데이터 8/32 1977 년에는 V7 탄생

Page 6: Lecture 1. Unix  시스템 개론

Lecture 1. UNIX 시스템 개론

UNIX 실습 6

3. UNIX 시스템의 특징

Interactive, Time-sharing System( 대화형 , 시분할 시스템 )

Multi-user, Multi-tasking System( 다중사용자 , 다중작업 시스템 )

Hierarchical, Tree Structure File System( 계층적 트리 구조의 파일 시스템 )

높은 이식성 C 언어로 구현되어 타기종에 이식하기 용이하다 .

Page 7: Lecture 1. Unix  시스템 개론

Lecture 1. UNIX 시스템 개론

UNIX 실습 7

3. UNIX 시스템의 특징 ( 계속 )

Sequential asynchronous & background process system( 순차적 비동기 및 백그라운드 처리 시스템 )

Flexible Command Language System( 유연한 명령언어 시스템 ) 명령을 언어화한 쉘을 프로그램할 수 있다 .

쉘 프로그램에 의한 대화식 명령 처리 운영체제와 사용자간의 인터페이스를 제공하는 명령어 즉 쉘을 통해

반복적이고 복잡한 명령어들을 대화식으로 간단하게 처리할 수 있다 .

효과적인 디렉토리 및 파일 관리

Page 8: Lecture 1. Unix  시스템 개론

Lecture 1. UNIX 시스템 개론

UNIX 실습 8

3. UNIX 시스템의 특징 ( 계속 )

다양한 유틸리티 제공

Flexible Communication System( 유연한 통신 시스템 ) UNIX 간은 물론 UNIX 와 타기종간의 통신이 동기식 및 비동기식으로

유연성 있게 이루어 진다 .

주변장치의 효율성

Page 9: Lecture 1. Unix  시스템 개론

Lecture 1. UNIX 시스템 개론

UNIX 실습 9

4. UNIX BOOT 시스템

BOOT 시스템 절차

getty

ROM BIOS

Bootloader

Kernel

init

/unix

/etc.init/etc/inittab

/etc/getty/etc/gettydefs

/etc/passwd/etc/shadow

/.cshrc/.profile$HOME/.profile

getty

login

sh, sch, ksh

Page 10: Lecture 1. Unix  시스템 개론

Lecture 1. UNIX 시스템 개론

UNIX 실습 10

4. UNIX BOOT 시스템 ( 계속 )

Booting 세부 절차

(1) 시스템 초기화 수행

(2) Bootstrap disk 에 있는 첫 block 을 옮겨 실행

(3) Bootstrap loader 는 /unix 파일을 찾아서 메모리에 load 한 후 수행

(4) unix 파일은 몇몇 하드웨어 인터페이스를 초기화 시킴

Page 11: Lecture 1. Unix  시스템 개론

Lecture 1. UNIX 시스템 개론

UNIX 실습 11

4. UNIX BOOT 시스템 ( 계속 )

(5) 초기화가 끝난 후 process 0 을 수행

(6) 시스템은 process 0 을 복제함으로써 process 1 을 만듦

process 0 • program code 는 없고 데이터 구조만 존재 시스템이 정지할 때까지 존재• • CPU 가 kernel mode 일 때에만 동작하는 순수한 시스템 프로세스

process 1 • process 0 을 복제 • break system call 이 사용하는 code 를 써서 크기를 늘림 새로 만들어진 • code 영역에 /etc/init 을 실행하기 위한 exec system call 을 수행하는 code 를 복사

Page 12: Lecture 1. Unix  시스템 개론

Lecture 1. UNIX 시스템 개론

UNIX 실습 12

4. UNIX BOOT 시스템 ( 계속 )

(7) init process 인 process 1 이 수행되면 exec system call 을 하게 되는데 , 이 system call 은 process 1 의 code 영역에 파일 /etc/init 를 읽어 들임

(8) init process 는 다음과 같이 처리됨

/etc/inittab

• start getty processes on login ports • start system processes on powerfail, etc.

Page 13: Lecture 1. Unix  시스템 개론

Lecture 1. UNIX 시스템 개론

UNIX 실습 13

4. UNIX BOOT 시스템 ( 계속 )

(10) getty process 는 다음과 같이 처리됨

communication line connectionexec login

(11) login process 는 다음과 같이 처리됨

verify user id, passwordexec shell

Page 14: Lecture 1. Unix  시스템 개론

Lecture 1. UNIX 시스템 개론

UNIX 실습 14

4. UNIX BOOT 시스템 ( 계속 )

컴퓨터 상에서 UNIX 시스템의 위치

Book block

Super block

inodes

Files&

directories

User memory

I/O Buffer

O.S. Kernel--------------------

Bootstrap

Hard Disk Memory

Booting

Shutdown& haltsys

• Booting : 디스크 상의 UNIX O.S. 를 메모리로 loading• Shutdown & Haltsys : 메모리 상의 사용자 데이터들을 디스크에 저장

Page 15: Lecture 1. Unix  시스템 개론

Lecture 1. UNIX 시스템 개론

UNIX 실습 15

5. UNIX 시스템의 구성

UNIX 시스템 구성요소

유닉스 커널 (UNIX Kernel) 유닉스 사용자 명령 인터페이스 (UNIX User Command Interface) 유닉스 커맨드와 인터페이스 (UNIX Command & Utility) 유닉스 시스템 서비스 (UNIX System Service) 유닉스 프로그래밍 인터페이스 (UNIX Programming Interface)

UNIX 시스템 구성형태

명령어 (Command)

쉘 (Shell)

커널 (Kernel)

Page 16: Lecture 1. Unix  시스템 개론

Lecture 1. UNIX 시스템 개론

UNIX 실습 16

5. UNIX 시스템의 구성 ( 계속 )

커널 (Kernel) 운영체제의 중심이 되는 부분으로 , 항상 주기억장치에 상주하면서

하드웨어 메모리 관리 , 작업관리 , 파일관리 등 컴퓨터 내부의 기능을 조정하는 핵심이 되는 부분이다 . 또한 컴퓨터 시스템 자원들을 관리하는 부분으로 디스크 , 프린터 , 단말기 , 통신장치 등을 관리한다 .

기능 컴퓨터 접근 허용 컴퓨터 메모리 관리 컴퓨터 자원 할당 정보들의 모임인 파일 시스템 관리 및 디스크 관리 프로세스 스케줄링 (process scheduling) 시스템 콜 인터페이스 (system call interface)

Page 17: Lecture 1. Unix  시스템 개론

Lecture 1. UNIX 시스템 개론

UNIX 실습 17

5. UNIX 시스템의 구성 ( 계속 )

쉘 (Shell) 커널을 둘러싸고 있으면서 사용자가 지정한 명령들을 해석하여

커널로 처리할 수 있도록 전달 해주는 명령 인터프리터로 생각할 수 있다 .

단말장치를 통하여 사용자로부터 명령어를 입력 받고 그 명령에 따라 커널이나 다른 유틸리티 프로그램을 작동시켜 실행한다 .

쉘도 일종의 명령어이기 때문에 여러 개의 쉘 인터프리터를 사용자가 활용할 수 있을 뿐만 아니라 이를 다양한 업무에 활용할 수도 있다 .

명령어 (Commands) 컴퓨터가 특정작업을 수행할 수 있도록 구성한 프로그램이다 . UNIX 시스템에서 번역할 필요 없이 직접 실행 되는 프로그램을

실행가능한 프로그램 (executable program) 또는 명령어라고 한다 .