Download presentation
Presentation is loading. Please wait.
1
Unix 시스템 인천대학교 컴퓨터공학과 성 미 영 http://marvel.inchon.ac.kr/~mysung
2
교재 및 참고문헌 교재 참고문헌 조경산 역, 이한출판사, 프로그래머와 사용자를 위한 UNIX 완성, 1998
UNIX for Programmers and Users, 2nd Ed., Graham Glass, Prentice Hall PTR, 1999 참고문헌 Unix Network Programming, 2nd Ed., W. Richard Stevens, Prentice Hall PTR, 1999 한국어 판 Unix Network Programming, Stevens 저, 김치하, 이재용 역, 대영사, 1991. 컴퓨터네트워크 프로그래밍, 개정판, 김화종, 홍른과학출판사, 2000. The X Window System Programming and Application with Xt, 2nd Ed., Douglas A. Young, Prentice Hall PTR, 1994 한국어판 The X Window System Programming and Application with Xt 제 2판, Young 저, 박승규 외 4인 역, 대영사, 1996 K. Havilland, D. Gray, B. Salama, Addison-Wesley, Unix System Programming, 2nd Ed., 1998(99) 한국어판 Unix 시스템 프로그래밍 Second Edition, Keith Haviland, Dina Gray, Ben Salama 저, 조유근 역, 홍릉과학출판사, 1999 The Unix C Shell Field Guide, Gail Anderson and Paul Anderson, Prentice-Hall, 1986 한국어판 The Unix C Shell Field Guide, Anderson · Anderson 저, 감창룡 역, 홍른과학출판사, 1997 Maurice J. Bach, The Design of the Unix Operating System, Prentice Hall International, Inc., 1986 Unix의 내부구조, 조유근 역편, 홍릉과학출판사, 1991. Evi Nemeth, Garth Snyder, Scott Seebass, Trent R. Hein, Prentice Hall PTR, "Unix System Administration Handbook, 2nd Ed.", 1995. 한국어판, Unix System administration Handbook, 2nd Ed. Nemeth, Snyderm Seebass, Hein 저, 최재영, 김명호, 김영배 역, 홍릉과학출판사, 1998. AEleen Frisch, O'Reilly, Essential System Administration, 2nd Ed.", 1996. 시스템 관리의 핵심, 2nd Ed., AEleen Frusch 저, 장 훈 역, 한빛미디어, 1998 Crag Hunt, O'Reilly, "TCP/IP Network Administration, 2nd Ed.", 1998. Unix 시스템
3
수업 개요 및 목표 개요 강력하고 안정적인 기능을 제공하는 중요한 운영체제인 Unix 시스템에 대하여 학습한다. Unix 시스템의 사용법을 익히고 Unix 환경에서의 다양한 프로그래밍 기법과 Unix의 내부구조에 대하여 깊이 있게 이해하도록 하여 Unix 시스템을 효과적으로 활용하고 새로운 운영체제 또는 새로운 Unix 응용 시스템을 설계하고 개발할 수 있는 유능한 인재를 양성한다. 목표 Unix 시스템에서 실제 코드를 다루기 위한 기본 지식을 습득한다. 명령어 유틸리티 Unix 시스템에서 다양한 프로그래밍 기법을 익힌다. 셜 프로그래밍 고급 언어 프로그래밍 네트워크 프로그래밍 윈도우 프로그래밍 시스템 프로그래밍 Unix 시스템의 내부구조를 깊이 있게 이해한다. 새로운 운영체제 또는 새로운 Unix 응용 시스템을 설계하고 구현할 수 있는 기초 능력을 배양한다. Unix 시스템
4
수업진행 방법 및 평가 수업진행방법 주교재 및 부교재 내용을 중심으로 OHP를 이용하는 강의와 Unix 컴퓨터를 이용하는 실습을 병행한다. 모든 실습 내용은 과제물로 제출한다. UNIX 환경에서 소프트웨어를 개발하는 단기 프로젝트를 수행한다. 강의 70%, 실습 30% OHP 70%, 컴퓨터 30% 평가 중간 : 20% 기말 : 20% 실습 : 20% 과제 : 20% 출석 및 수업 기여도 : 20% Bonus: 명예의 전당 입성자 Unix 시스템
5
1장 유닉스(Unix)란?
6
오! 유닉스 유닉스는 재미있다. 유닉스는 사용하기는 쉽지만 배우기는 어렵다.
유닉스의 모든 것을 배우는 것은 불가능하다. 필요한 것과 재미있을 것 같다고 생각되는 부분에 관심을 쏟는 것이 좋다. 유닉스는 세련되고 영리한 사람들을 위한 도구의 집합이다. Unix 시스템
7
컴퓨터 시스템 하드웨어 소프트웨어 시스템 소프트웨어: 운영체제 응용 소프트웨어: 게임 등
CPU(Central Processing Unit) RAM(Random Access Memory) ROM(Read Only Memory) Disk Monitor Graphic card Keyboard Mouse Printer Ethernet Interface Modem Scanner MIDI(Musical Instrument Digital Interface) Video capture board Voice recognition card Synthesizer 소프트웨어 시스템 소프트웨어: 운영체제 응용 소프트웨어: 게임 등 Unix 시스템
8
Unix 자원 공유 CPU 공유: time slice 메모리 공유: page 디스크 공유: block Unix 시스템
9
Unix 통신 통신의 유형 통신 메커니즘 출력: 그래픽 카드와 대화 입력: 키보드와 대화 네트워크 서비스: 다른 컴퓨터와 대화
공동 작업: 프로세스 사이의 대화 통신 메커니즘 파이프 (pipe): 같은 기계, one-way medium-speed data channel 소켓 (socket): 다른 기계, two-way high-speed data channel Unix 시스템
10
Unix 프로그램, 프로세스, 파일 파일: 디스크에 저장된 자료의 모음
프로그램: 파일에 저장되어 있는 일련의 명령어와 자료를 표현하는 바이트들의 집합, RAM으로 적재되어 실행됨 프로세스: 실행 중인 프로그램 프로그램, 프로세스, 파일 소유자(owner) 가지며 접근이 보호됨 위치를 부여하는 계층적인 디렉토리(directory) 가짐 생성/수정/삭제 서비스 제공 Unix 시스템
11
UNIX 특징 동시에 여러 사용자가 사용 (multiuser/multiprocess system)
프로그램, 프로세스, 파일의 생성/수정/삭제 제공 프로세스와 파일의 위치를 부여하는 디렉토리 계층 제공 공정하고 효과적인 프로세서, 메모리, 디스크 공유 주변장치, 다른 기계, 프로세스 사이의 의사 소통 지원 많은 표준 유틸리티(utilities) : GNU (GNU's Not Unix!), 시스템 호출 (system calls)을 통한 Unix 서비스 접근 이식성 우수하여 다양한 기종에서 활용 강력한 shell programming open system : 저렴한 가격으로 소스 제공받을 수 있음ㄴ Unix 시스템
12
Unix 철학(Philosophies of Unix)
파이프 (pipe) 한 프로세스의 출력이 다른 프로세스의 입력이 됨 파이프 라인 여러 프로세스들이 연결되어 자료가 흐르는 파이프 라인 형성 장점 문제를 프로세스들의 정렬된 구성으로 해결 (예) $ who | sort Unix 환경에서 문제를 해결하는 단계들 파이프와 유틸리티를 이용하여 해결 시도 네트워크 상에 질문하여 해결 시도 유틸리티를 스스로 작성하여 해결 시도 (재사용될 수 있도록 작성) 응용 프로그램 작성 수퍼 유저 (super user) 모든 코드와 자료에 접근할 수 있는 특권을 갖고자 하는 사람들이 설계 특권을 여러 준 수퍼 유저(slightly super user)에게 나누는 시스템도 있음 Unix 시스템
13
Unix 역사 1971 AT&T Bell Lab. Ken Thompson MIT Multics의 영향
PDP-7 어셈블러로 쓰여짐 1973 C 언어로 다시 씀 1970 Ken Thompson이 B 언어, 1973 Dennis Ritchie가 C 언어 만듦 여러 컴퓨터로 이식됨 버전들 AT&T System V(five) 계열 BSD(Berkeley Software Distribution) 계열 Linux ( Linus Torvalds (Finnish student of Computer Science) 1991 PC용 System V + BSD Unix GNU ( : source code is available 표준화 연구 UI (Unix International) : System V 4.1 : AT&T, SUN OSF (Open Software Foundation) : OSF/1 : IBM, DEC, HP POSIX (Portable Operating System Interface) (1986, IEEE1000.3) Unix 시스템
14
Unix 제품들 Solaris 2.X (Sun) : System V + BSD ( HP-UX (HP) : System V + BSD ( IRIS (Silicon Graphics) : System V ( AIX (IBM) : System V+BSD ( OSF/1 (DEC) : BSD + System V, Ultrix는 BSD ( BSD/OS (Berkeley) ( SunOS (Sun) : BSD NextSTEP : Mach의 확장 ( NetBSD : 4.4BSD Lite 기반 ( Linux (linux Torvalds) : 내부 BSD, 인터페이스 System V, PC용 ( FreeBSD : Berkeley Net/2 기반, PC용 ( SCO (Santa Cruz Operation) Unixware: System V, PC 용 ( Unix 시스템
15
Unix 미래 객체 지향 프로그래밍 (object-oriented programming)
병렬 및 분산 처리 (parallel & distributed processing) 병렬 처리 (doing more than one task in parallel) Tightly coupled multiprocessor system Shared-resource architecture Bus, Clock, Memory, 주변기기를 공유 Shared memory 통해 교류 분산 처리 Loosely coupled multiprocessor system Shared-nothing architecture 각 processor 는 자신의 local memory를 가짐 communication line (high-speed bus, telephone line) 통해 교류 32비트에서 64비트로 (the move from 32-bit to 64-bit systems) 고속 통신 시스템 (high-bandwidth communication systems) Unix 시스템
16
Unix 사용자 비프로그래머 셸 사용자 진보된 비프로그래머 진보된 셸 사용자 프로그래머 시스템 프로그래머 시스템 개발자
시스템 관리자 Unix 시스템
Similar presentations