본문 바로가기

BASIC/OS

[운영체제] UNIX의 개요

1. UNIX의 특징

- UNIX는 주로 서버용 컴퓨터에서 사용되는 운영체제로 다음과 같은 특징이 있다.

- 시분할 시스템(Time Sharing System)을 위해 설계된 대화식 운영체제로, 소스가 공개된 개방형 시스템(Open System)이다.

- 대부분 C언어로 작성되어 있어 이식성이 높으며 장치, 프로세스 간의 호환성이 높다.

- 크기가 작고 이해하기가 쉽다.

- 다중 사용자(Multi-User), 다중 작업(Multi-Tasking)을 지원한다.

- 많은 네트워킹 기능을 제공하므로 통신망(Network) 관리용 운영체제로 적합하다.

- 트리 구조의 파일 시스템을 갖는다.

- 전문적인 프로그램 개발에 용이하다.

- 다양한 유틸리티 프로그램들이 존재한다.


2. UNIX 시스템의 구성

사용자 > 유틸리티 > 쉘 > 커널 > 하드웨어


1) 커널(Kernel)

- UNIX의 가장 핵심적인 부분이다.

- 컴퓨터가 부팅될 때 주기억장치에 적재된 후 상주하면서 실행된다.

- 하드웨어를 보호하고, 프로그램과 하드웨어 간의 인터페이스 역할을 담당한다.

- 프로세스(CPU 스케줄링) 관리, 기억장치 관리, 파일 관리, 입출력 관리, 프로세스간 통신, 데이터 전송 및 변환 등 여러 가지 기능을 수행한다.


2) 쉘(Shell)

- 사용자의 명령어를 인식하여 프로그램을 호출하고 명령을 수행하는 명령어 해석가이다.

- 시스템과 사용자 간의 인터페이스를 담당한다.

- DOS의 COMMAND.COM과 같은 기능을 수행한다.

- 주기억장치에 상주하지 않고, 명령어가 포함된 파일 형태로 존재하여 보조기억장치에서 교체 처리가 가능하다.

- 파이프라인 기능을 지원하고 입출력 재지점을 통해 출력과 입력의 방향을 변경할 수 있다.

- 공용 Shell이나 사용자 자신이 만든 Shell을 사용할 수 있다.


3) Utility Program

- 일반 사용자가 작성한 응용 프로그램을 처리하는 데 사용한다.

- DOS에서의 외부 명령어에 해당된다.

- 유틸리티 프로그램에는 에디터, 컴파일러, 인터프리터, 디버거 등이 있다.