Download presentation
Presentation is loading. Please wait.
1
UNIX Unbounded A Beginning Approach
이 성 현 Home : nimilx2.hannam.ac.kr Tel :
2
목차 유닉스 운영체제 개요 질의 및 응답
3
유닉스 운영체제 개요 유닉스 시스템 개요 유닉스 시스템의 용도 벨 연구소에서 개발된 운영체제이다.
커널의 일부를 제외하고 고급언어인 C로 작성되었다. Open System이다. 다양한 플랫폼에 탑재된다. 파일 시스템의 구조가 쉽다. 멀티 유저, 멀티태스킹 환경을 지원한다. 유닉스 시스템의 용도 고성능 I/O 멀티태스킹 서버 SMTP 서버 뉴스 서버 CPU 집약적인 어플리케이션 실행
4
유닉스 운영체제 개요 유닉스 기초 UNIX 란? Operating System
Hardware↔Operating System↔Software UNIX의 구성 Kernel Shell Bourne shell Korn shell C shell Utility H/W Platform Kernel Shell Shell Program I/O redirection PIPE For & Background vi date Tool & Applications C compiler , Debugger S/W Development Networking
5
유닉스 운영체제 개요 유닉스의 구성 Kernel
컴퓨터의 자원(Resource)들을 관리하고 File System을 구성하는 등 모든 잡다한 작업들을 처리해주는 Program 이며 Shell Program을 수행시킨다. Kernel의 중요한 역할 Process scheduling and management File management and security Input / Output Service Interrupt and error Handing Memory management System Accounting Booting Memory Load
6
유닉스 운영체제 개요 유닉스의 구성 Shell Shell의 종류 Utility
명령해독기(command Interpreter). 단말기로 통하여 명령을 입력 받고 그 명령을 kernel이나 다른 여러 가지 유틸리티로 넘겨주어 수행하도록 한다. UNIX체제의 일부분으로 컴퓨터와 사용자 사이의 의사소통의 수단으로 인터페이스 역할을 한다. Shell의 종류 Bourne Shell (sh) Berkerley C shell (csh) Korn Shell (ksh) Utility 사용자의 편의를 위해 준비된 시스템 프로그램으로서, User의 프로그램의 개발 도구이며 User의 Program 역시 System구조 내부에서 Utility와 같이 취급된다. 이점이 바로 UNIX의 가장 큰 특징으로 계속적인 Utility의 공급과 발전이 이루어지고 있다.
7
유닉스 운영체제 개요 유닛스 기본 유틸리티 cat ls rmdir chgrp mail stty chmod man tail
chown mkdir vi clear more cp mv date passwd file pwd head rm
8
유닉스 운영체제 개요 유닉스 시스템의 구조 Users kernel 쉘과 명령어들 컴파일러와 인터프리터들 shell
단말기 제어기 단말기 메모리 제어기 실제 메모리 장치 제어기 디스크와 테이프 하드웨어에 대한 커널 인터페이스 커널에 대한 시스템 호출 인터페이스 쉘과 명령어들 컴파일러와 인터프리터들 시스템 라이브러리들 Users shell kernel 신호 단말기 처리 단말기 구동기 파일 시스템 디스크와 테이프 구동기 Cpu 스케쥴링 가상 기억장치
9
유닉스 운영체제 개요 유닉스 시스템의 구성 라이브러리 공통적으로 사용하는 루틴들을 미리 저장 운영체제(커널)
자주 사용되고 빠르게 가동되어야 하는 기능들의 집합 프로세스 관리, 메모리 관리, 파일 시스템 관리 등 시스템에 부착된 디바이스와 다른 컴퓨터간의 통신 연결 등 유틸리티 등 시간 확인, 암호 변경 등의 명령 디스크에 저장됨
10
유닉스 운영체제 개요 유닉스 구조 H/W Kernel Shell (명령 해석기) 도구(utilities) 응용 프로그램
11
유닉스 운영체제 개요 유닉스 시스템의 특징 범용 운영체제의 간결성 대화형 시스템 이식성(Portablility)
다양하고 광범위한 여러 가지 작업들을 실행하도록 만들어진 운영체제 대화형 시스템 사용자가 단말기의 키보드를 통해서 명령을 입력하면 그 명령을 실행하고 사용자에게 적절한 결과의 정보를 단말기에 출력하는 상호 작용적인 대화형 시스템 이식성(Portablility) C 언어의 사용으로 유닉스를 이식 가능한 운영체제로 만듦 마이크로 컴퓨터에서 슈퍼 컴퓨터까지 다양한 범위의 기계에서 동작 한 시스템에서 다른 시스템으로의 변경을 용이하게 함 대부분의 C 코드가 공개되어 있어 컴파일러가 설치되어 있는 다른 컴퓨터에 쉽게 이식 및 호환과 시스템 변경과 확장이 용이
12
유닉스 운영체제 개요 유닉스 시스템의 특징 다중 사용자 능력 다중 작업 능력 여러 사용자들이 동시에 컴퓨터 자원을 공유
다양한 사용자의 서로 다른 프로그램 실행을 지원 각 사용자는 자신들이 허가 받은 데이터와 프로그램에만 접근할 수 있다. 한대의 유닉스를 여러 명 또는 수십 수백의 사용자가 동시에 사용할 수 있음 혼자 유닉스 시스템을 사용하고 있을지라도 다중 사용자 시스템임 유닉스는 항상 모종의 프로그램들이 실행되고 있음 실행되는 프로그램들 중 가장 중요한 것이 커널과 데몬 프로세스 데몬 : 시스템의 도우미 역할을 하며 필요에 따라 실행되며 메일처리, 네트워크 통신, 현재 시간 조정 등의 기능을 수행 다중 작업 능력 작업을 초기화하고 다른 작업이 백그라운드로 실행되는 동안 다른 작업이 수행되는 것을 허용 작업들 간의 백그라운드와 포그라운드 작업을 교환하는 것을 허용 Unix의 시분할(Time-sharing) 및 백 그라운드(back ground) 기능을 이용하여 한 사용자가 동시에 여러 작업이 가능
13
유닉스 운영체제 개요 유닉스 시스템의 특징 계층적인 파일 시스템 장치 독립적인 입/출력 기능
데이터와 프로그램을 그룹하기 위한 능력을 사용자에게 제공 데이터 검색과 프로그램의 위치를 쉽게 변경할 수 있다. 파일 시스템의 구조가 트리(tree) 형식으로 구성 시스템 내의 특정 디렉토리 및 파일 접근과 관리가 편리 장치 독립적인 입/출력 기능 입력과 출력 동작이 장치 독립적 사용자가 장치 또는 파일에 대한 명령의 출력을 재지정(redirect)할 수 있다. 재지정 처리는 입력 데이터도 가능
14
유닉스 운영체제 개요 유닉스 시스템의 특징 유틸리티 시스템 서비스 기타 부가적인 소프트웨어들
다양한 유틸리티 프로그램이나 명령을 포함 유틸리티의 종류 텍스트 편집과 포맷팅 유틸리티(4, 6장) 파일 조작 유틸리티(5, 7장) 전자메일 유틸리티(9장) 프로그래밍 툴(10장) 시스템 서비스 시스템의 관리와 유지를 쉽게 하는 다양한 서비스 제공 시스템 관리 서비스 시스템 재 구성 서비스 파일 시스템 유지 서비스 파일 전송 서비스(UNIX Copy) 기타 부가적인 소프트웨어들 프로그래밍 환경을 제공해주는 meta-compiler, lex, yacc 등을 제공하며 vi, emacs 등으로 문서 처리 기능 및 전자우편 등 인터넷 서버를 위한 기능을 제공
15
% ls –al | more | cat > test
유닉스 운영체제 개요 유닉스 시스템의 특징 프로세스간 통신(pipe) 프로세스는 출력을 보이기 위하여 그래픽 카드와 통신(대화) 프로세스는 입력을 위해 키보드와 대화 네트워크 전자우편 시스템은 전자우편을 주고 받기 위해 또 다른 컴퓨터와 대화 2개의 프로세스는 하나의 문제에 대해 공동작업을 하기 위해 서로 통신해야 함 프로세스가 다른 프로세스와 통신할 수 있는 방법은 파이프(pipe)라 불리는 프로세스간 상호 통신 메커니즘을 경유 어떤 프로세스의 표준출력이 다른 프로세스의 표준 입력으로 쓰이게 하는 메커니즘 Pipe는 동일한 컴퓨터상에서 2개의 프로세스가 통신을 할 수 있게 하는 단방향 데이터 채널(one-way data channel) 프로세스들이 네트워크에 의해 연결된 경우 양방향 데이터 채널(two-way data channel)인 소켓(socket)을 사용하여 통신 프로세스1 프로세스2 PIPE % ls –al | more | cat > test
16
유닉스 운영체제 개요 유닉스 시스템의 특징 사용자 인터페이스 : 쉘(Shell) 쉘의 종류
unix 명령어를 해석하는 명령어 해석기로 사용자와 unix간의 인터페이스와 쉘 프로그램 언어를 해석 단말장치를 통하여 명령을 받고 커널이나 다른 여러 유틸리티 프로그램을 실행 사용자는 쉘을 통하여 컴퓨터와 대화를 나눌 수 있음 쉘의 종류 Bourn Shell(sh) 개발자인 Steve Boune의 이름을 따옴 유닉스 쉘 중에서 가장 오래 되었으며 대부분의 Unix 시스템에 포함 다른 쉘에 비해 기능이 미약하며 프로세스를 제어하는 기능이 미약 프롬프트는 $ C Shell(csh) 버클리 대학에서 개발되었으며 가장 유명한 쉘로 널리 이용 본 쉘에 없는 작업제어 및 히스토리 기능들을 포함 C 언어와 가장 유사한 쉘 프롬프트는 %
17
유닉스 운영체제 개요 유닉스 시스템의 특징 쉘의 종류 Korn Shell(ksh)
개발자인 Bavid Korn의 이름을 따서 만든 쉘 본 쉘과 호환이 되면서 C 쉘의 기능도 갖고 있는 쉘 Bourne again shell(bash) 자유 소프트웨어 재단에서 개발하였고 korn 쉘과 매우 비슷 Tcsh C 쉘의 확장 버전 C 쉘처럼 동작하지만 더 풍부한 기능을 갖고 있고 오류가 거의 없음
18
유닉스 운영체제 개요 주요 용어들 파일 프로그램(program) 프로세스(process) 단말기(terminal)
디스크에 저장되는 자료의 기본 단위 프로그램(program) 파일에 저장되는 자료와 코드를 표현하는 바이트들의 집합을 프로그램이라 한다. 프로세스(process) 수행중인 프로그램을 프로세스라고 부른다. 단말기(terminal) 일반적으로 모니터와 키보드로 구성된다. 단말기 자신은 어떤 일을 수행할 수 없다. 그래서 다른 시스템에 연결되어서 그 시스템상에서 작업을 한다. 모니터는 표준출력과 표준에러가 출력되는 방향이며, 키보드는 표준입력의 방향이다
19
유닉스 운영체제 개요 주요 용어들 콘솔(console) 데몬(daemon) 워크스테이션(workstation)
유닉스 시스템의 본체에 연결된 모니터를 콘솔 이라고 부른다 데몬(daemon) 파수꾼이라고 번역되기도 하는데 보통 sleep상태로 있다가 서비스를 요청하는 신호를 수신하면 서비스를 하는 프로세스를 칭한다. 보통은 서버 프로세스들이 데몬 프로세스의 주종을 이룬다. 워크스테이션(workstation) PC성능보다 좀더 좋은 시스템으로 다중 사용자 운영체제를 사용하는 시스템을 부를 때 사용한다. 서버(server) 시스템 자원을 모두 가지고 있으며, 클라이언트 의 요청이 있을 때 마다 자원을 할당하는 하드웨어와 소프트웨어를 서버라고 부른다.
20
질의 및 응답
Similar presentations