1 / 17

Lecture 1. Unix 시스템 개론

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

evadne
Download Presentation

Lecture 1. Unix 시스템 개론

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lecture 1. Unix 시스템 개론 2001.4

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

  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 시스템이 수없이 발표됨 3

  4. Multics(OS) (G.E 645 1969년 : 최초의 Operating System AT&T 계통 UNIX * 비지니스용* Berkeley 계통 UNIX * 연구 개발용* 1970~1971년 : UNIX Version 1을 Bell Lab.에서 개발 UNIX 3 BSD 1979년 Version 3 1973년 : C언어로 UNIX를 새롭게 개발 Version II 1981년 : 가상메모리지원 vi editor 개발 1982년 : 실제 메모리지원 4.1 BSD 1975~1976년 : 속도 및 이식성 향상 상업용 버전으로 배포 Version 6 *소형시스템용* PWB/UNIX XENIX 2.0 1976년 1977년 1978년 1981년 : UNIX를 일부 XENIX로 개발 XENIX System V 1984년 4.2 BSD 1983년 Version 7 XENIX System V 1985년 : 완벽한 호환성이 있음 *PWB : Programmers Work Bench *BSD : Berkeley Standard 2. UNIX 시스템의 역사적 배경 4

  5. 자료정리  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 탄생 2. UNIX 시스템의 역사적 배경 (계속) 5

  6. 3. UNIX 시스템의 특징 • Interactive, Time-sharing System(대화형, 시분할 시스템) • Multi-user, Multi-tasking System(다중사용자, 다중작업 시스템) • Hierarchical, Tree Structure File System(계층적 트리 구조의 파일 시스템) • 높은 이식성 • C언어로 구현되어 타기종에 이식하기 용이하다. 6

  7. 3. UNIX 시스템의 특징 (계속) • Sequential asynchronous & background process system(순차적 비동기 및 백그라운드 처리 시스템) • Flexible Command Language System(유연한 명령언어 시스템) • 명령을 언어화한 쉘을 프로그램할 수 있다. • 쉘 프로그램에 의한 대화식 명령 처리 • 운영체제와 사용자간의 인터페이스를 제공하는 명령어 즉 쉘을 통해 반복적이고 복잡한 명령어들을 대화식으로 간단하게 처리할 수 있다. • 효과적인 디렉토리 및 파일 관리 7

  8. 3. UNIX 시스템의 특징 (계속) • 다양한 유틸리티 제공 • Flexible Communication System(유연한 통신 시스템) • UNIX간은 물론 UNIX와 타기종간의 통신이 동기식 및 비동기식으로 유연성 있게 이루어 진다. • 주변장치의 효율성 8

  9. ROM BIOS Bootloader Kernel /unix init /etc.init /etc/inittab getty getty /etc/getty /etc/gettydefs login /etc/passwd /etc/shadow sh, sch, ksh /.cshrc /.profile $HOME/.profile 4. UNIX BOOT 시스템 • BOOT 시스템 절차 9

  10. 4. UNIX BOOT 시스템 (계속) • Booting 세부 절차(1) 시스템 초기화 수행(2) Bootstrap disk에 있는 첫 block을 옮겨 실행(3) Bootstrap loader는 /unix 파일을 찾아서 메모리에load한 후 수행(4) unix 파일은 몇몇 하드웨어 인터페이스를 초기화 시킴 10

  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를 복사 11

  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. 12

  13. 4. UNIX BOOT 시스템 (계속) (10) getty process는 다음과 같이 처리됨 • communication line connection • exec login (11) login process는 다음과 같이 처리됨 • verify user id, password • exec shell 13

  14. Booting Book block User memory Super block I/O Buffer inodes O.S. Kernel -------------------- Bootstrap Files & directories Shutdown & haltsys Memory Hard Disk • Booting : 디스크 상의 UNIX O.S.를 메모리로 loading • Shutdown & Haltsys : 메모리 상의 사용자 데이터들을 디스크에 저장 4. UNIX BOOT 시스템 (계속) • 컴퓨터 상에서 UNIX 시스템의 위치 14

  15. UNIX 시스템 구성요소  유닉스 커널 (UNIX Kernel)  유닉스 사용자 명령 인터페이스 (UNIX User Command Interface)  유닉스 커맨드와 인터페이스 (UNIX Command & Utility)  유닉스 시스템 서비스 (UNIX System Service)  유닉스 프로그래밍 인터페이스 (UNIX Programming Interface) 5. UNIX 시스템의 구성 UNIX 시스템 구성형태 커널 (Kernel) 쉘 (Shell) 명령어 (Command) 15

  16. 5. UNIX 시스템의 구성 (계속) • 커널 (Kernel) • 운영체제의 중심이 되는 부분으로, 항상 주기억장치에 상주하면서 하드웨어 메모리 관리, 작업관리, 파일관리 등 컴퓨터 내부의 기능을 조정하는 핵심이 되는 부분이다. 또한 컴퓨터 시스템 자원들을 관리하는 부분으로 디스크, 프린터, 단말기, 통신장치 등을 관리한다. • 기능 • 컴퓨터 접근 허용 • 컴퓨터 메모리 관리 • 컴퓨터 자원 할당 • 정보들의 모임인 파일 시스템 관리 및 디스크 관리 • 프로세스 스케줄링 (process scheduling) • 시스템 콜 인터페이스 (system call interface) 16

  17. 5. UNIX 시스템의 구성 (계속) • 쉘 (Shell) • 커널을 둘러싸고 있으면서 사용자가 지정한 명령들을 해석하여 커널로 처리할 수 있도록 전달 해주는 명령 인터프리터로 생각할 수 있다. • 단말장치를 통하여 사용자로부터 명령어를 입력 받고 그 명령에 따라 커널이나 다른 유틸리티 프로그램을 작동시켜 실행한다. • 쉘도 일종의 명령어이기 때문에 여러 개의 쉘 인터프리터를 사용자가 활용할 수 있을 뿐만 아니라 이를 다양한 업무에 활용할 수도 있다. • 명령어 (Commands) • 컴퓨터가 특정작업을 수행할 수 있도록 구성한 프로그램이다. • UNIX 시스템에서 번역할 필요 없이 직접 실행 되는 프로그램을 실행가능한 프로그램 (executable program) 또는 명령어라고 한다. 17

More Related