UNIX 개요 및 특징
UNIX는 1960년대 AT&T 벨(Bell) 연구소, MIT, General Electric이 공동 개발한 운영체제이다.
- 시분할 시스템 (Time Sharing System)을 위해 설계된 대화식 운영체제로, 소스가 공개된 개방형 시스템 (Open System)이다.
- 대부분 C언어로 작성되어 있어 이식성이 높으며 장치와 프로세스 간의 호환성이 높다.
- 크기가 작고 이해하기 쉽다.
- 다중 사용자 (Multi-User), 다중 작업 (Multi-Tasking)을 지원한다.
- 많은 네트워킹 기능을 제공하므로 통신망 (Network) 관리용 운영체제로 적합하다.
- 트리 구조의 파일 시스템을 갖는다.
- 전문적인 프로그램 개발에 용이하다.
- 다양한 유틸리티 프로그램들이 존재한다.
다중 사용자(Multi-User)
여러 사용자가 동시에 시스템을 사용하는 것이다.다중 작업(Multi-Tasking)
여러 개의 작업이나 프로그램을 동시에 수행하는 것이다.하나 이상의 작업을 백그라운드에서 수행하므로 여러 작업을 동시에 처리할 수 있다.
UNIX 시스템의 구성

커널 (Kernel)
- UNIX의 가장 핵심적인 부분이다.
- 컴퓨터가 부팅될 때 주기억장치에 적재된 후 상주하면서 실행된다.
- 하드웨어를 보호하고, 프로그램과 하드웨어 간의 인터페이스 역할을 담당한다.
- 프로세스(CPU 스케줄링) 관리, 기억장치 관리, 파일 관리, 입출력 관리, 프로세스간 통신, 데이터 전송 및 변환 등 여러 가지 기능을 수행한다.
쉘 (Shell)
- 사용자의 명령어를 인식하여 프로그램을 호출하고 명령을 수행하는 명령어 해석기이다.
- 시스템과 사용자 간의 인터페이스를 담당한다.
- DOS의 COMMAND.COM과 같은 기능을 수행한다.
- 주기억장치에 상주하지 않고, 명령어가 포함된 파일 형태로 존재하며 보조기억장치에서 교체 처리가 가능하다.
- 파이프라인 기능을 지원하고, 입출력 재지정을 통해 출력과 입력의 방향을 변경할 수 있다.
- 공용 Shell(Bourne Shell, C Shell, Korn Shell)이나 사용자 자신이 만든 Shell을 사용할 수 있다.
유틸리티 프로그램 (Utility Program)
- 일반 사용자가 작성한 응용 프로그램을 처리하는 데 사용한다.
- DOS에서의 외부 명령어에 해당된다.
- 유틸리티 프로그램에는 에디터, 컴파일러, 인터프리터, 디버거 등이 있다.
UNIX 파일 시스템의 구조
디스크를 블록으로 분류하여 배치한 구조를 의미한다.

부트 블록
부팅 시 필요한 코드를 저장하고 있는 블록이다.
슈퍼 블록
전체 파일 시스템에 대한 정보를 저장하고 있는 블록이다.
I-node 블록 (Index-node)
각 파일이나 디렉토리에 대한 모든 정보를 저장하고 있는 블록이다.
정보 : 파일의 사용자 번호(UID) 및 그룹 번호 (GID), 파일 크기, 파일 타입 (일반,디렉토리,특수 파일 등), 생성 시기, 최종 변경 시기, 최근 사용 시기, 파일의 보호 권한, 파일 링크 수, 데이터가 저장된 블록의 시작 주소
데이터 블록 (데이터 영역)
디렉토리별로 디렉토리 엔트리(파일 이름과 I-node 번호로 구성되어 이들을 서로 연결해 주는 기능을 수행한다.)와 실제 파일에 대한 데이터가 저장된 블록이다.
UNIX 및 LINUX 기본 명령어
CLI (Command Line Interface) 기본 명령어 : 쉘(Shell)에 명령어를 입력하여 작업을 수행하는 것으로, UNIX 및 LINUX의 주요 기본 명령어는 다음과 같다.
명령어 | 기능 |
fork | 새로운 프로세스를 생성한다 (하위 프로세스 호출, 프로세스 복제 명령) |
exec | 새로운 프로세스를 수행한다. |
kill | 프로세스를 제거한다. |
& | 백그라운드 처리를 위해 명령어의 끝에 입력한다. |
ps | 현재 작업중인 프로세스의 상태 정보를 확인한다. |
cp | 파일을 복사한다. |
mv | 파일을 이동시키거나 이름을 변경한다. |
rm | 파일을 삭제한다. |
cat | 파일 내용을 화면에 표시한다. |
chmod | 파일의 보호 모드를 설정하여 파일의 사용 허가를 지정한다. |
mkfs | 파일 시스템을 생성한다. |
ls | 현재 디렉토리 내의 파일 목록을 확인한다. |
finger | 사용자 정보를 표시한다. |
chown | 소유자를 변경한다. |
GUI (Graphic User Interface) 기본 명령어 : UNIX와 LINUX는 기본적으로 CLI를 기반으로 운영되는 시스템이지만 X Window라는 별도 프로그램을 설치하여 GUI 방식으로 운영할 수 있다.
Windows 개요
1990년대 마이크로소프트(Microsoft) 사가 개발한 운영체제이다.
Windows의 주요 특징에는 GUI, 선점형 멀티태스킹, PnP, OLE 등이 있다.
그래픽 사용자 인터페이스 (GUI, Graphic User Interface)
- 키보드로 명령어를 직접 입력하지 않고, 마우스로 아이콘이나 메뉴를 선택하여 모든 작업을 수행하는 방식을 말한다.
- 초보자도 쉽게 사용할 수 있는 그래픽 사용자 인터페이스를 채용하였다.
선점형 멀티태스킹 (Preemptive Multi-Tasking)
- 동시에 여러 개의 프로그램을 실행하는 멀티태스킹을 하면서 운영체제가 각 작업의 CPU 이용 시간을 제어하여 응용 프로그램 실행중 문제가 발생하면 해당 프로그램을 강제 종료시키고 모든 시스템 자원을 반환하는 방식을 말한다.
- 하나의 응용 프로그램이 CPU를 독점하는 것을 방지할 수 있어 시스템 다운 형상없이 더욱 안정적인 작업을 할 수 있다.
PnP (Plug and Play, 자동 감지 기능)
- 컴퓨터 시스템에 프린터나 사운드 카드 등의 하드웨어를 설치했을 때, 해당 하드웨어를 사용하는 데 필요한 시스템 환경을 운영체제가 자동으로 구성해 주는 기능이다.
- 운영체제가 하드웨어릐 규격을 자동으로 인식하여 동작하게 해주므로 PC 주변 장치를 연결할 때 사용자가 직접 환경을 설정하지 않아도 된다.
- PnP 기능을 활용하기 위해서는 하드웨어와 소프트웨어 모두 PnP를 지원하여야 한다.
OLE (Object Linking and Embedding)
- 다른 여러 응용 프로그램에서 작성된 문자나 그림 등의 개체(Object)를 현재 작성중인 문서에 자유롭게 연결 (Linking)하거나 삽입 (Embedding) 하여 편집할 수 있게 하는 기능이다.
Windows 기본 명령어
CLI 기본 명령어 : 명령 프롬프트 (Command) 창에 명령어를 입력하여 작업을 수행하는 것으로 주요 기본 명령어는 다음과 같다.
명령어 | 기능 |
dir | 파일 목록을 표시한다. |
copy | 파일을 복사한다. |
type | 파일의 내용을 표시한다. |
ren | 파일의 이름을 변경한다. |
del | 파일을 삭제한다. |
md | 디렉토리를 생성한다. |
cd | 디렉토리의 위치를 변경한다. |
cls | 화면의 내용을 지운다. |
attrib | 파일의 속성을 변경한다. |
find | 파일을 찾는다. |
chkdsk | 디스크 상태를 점검한다. |
format | 디스크 표면의 트랙과 섹터로 나누어 초기화한다. |
move | 파일을 이동한다. |
GUI 기본 명령어 : 바탕화면이나 Windows 탐색기에서 마우스로 아이콘을 더블클릭하여 프로그램 실행, 파일의 복사 및 이동, 제어판의 기능 실행 등 모든 작업이 GUI 명령어에 해당한다.