운영체제의 실제

정보처리자격증운영체제의 실제
avatar
2025.05.08
·
12 min read

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 시스템의 구성

5915

커널 (Kernel)

- UNIX의 가장 핵심적인 부분이다.
- 컴퓨터가 부팅될 때 주기억장치에 적재된 후 상주하면서 실행된다.
- 하드웨어를 보호하고, 프로그램과 하드웨어 간의 인터페이스 역할을 담당한다.
- 프로세스(CPU 스케줄링) 관리, 기억장치 관리, 파일 관리, 입출력 관리, 프로세스간 통신, 데이터 전송 및 변환 등 여러 가지 기능을 수행한다.

쉘 (Shell)

- 사용자의 명령어를 인식하여 프로그램을 호출하고 명령을 수행하는 명령어 해석기이다.
- 시스템과 사용자 간의 인터페이스를 담당한다.
- DOS의 COMMAND.COM과 같은 기능을 수행한다.
- 주기억장치에 상주하지 않고, 명령어가 포함된 파일 형태로 존재하며 보조기억장치에서 교체 처리가 가능하다.
- 파이프라인 기능을 지원하고, 입출력 재지정을 통해 출력과 입력의 방향을 변경할 수 있다.
- 공용 Shell(Bourne Shell, C Shell, Korn Shell)이나 사용자 자신이 만든 Shell을 사용할 수 있다.

유틸리티 프로그램 (Utility Program)

- 일반 사용자가 작성한 응용 프로그램을 처리하는 데 사용한다.
- DOS에서의 외부 명령어에 해당된다.
- 유틸리티 프로그램에는 에디터, 컴파일러, 인터프리터, 디버거 등이 있다.


UNIX 파일 시스템의 구조

디스크를 블록으로 분류하여 배치한 구조를 의미한다.

5916

부트 블록

부팅 시 필요한 코드를 저장하고 있는 블록이다.

슈퍼 블록

전체 파일 시스템에 대한 정보를 저장하고 있는 블록이다.

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 명령어에 해당한다.







- 컬렉션 아티클