※ 공부 내용의 복습 개념으로 정리된 글입니다. - 출처 시나공
UNIX의 개요 및 특징
UNIX는 1960년대 AT&T 벨(Bell) 연구소, MTT, General Electric이 공동 개발한 운영체제입니다.
- 시분할 시스템(Time Sharing System)을 위해 설계된 대화식 운영체제로, 소스가 공개된 개방형 시스템(Open System)입니다.
- 대부분 C 언어로 작성되어 있어 이식성이 높으며, 장치와 프로세스 간의 호환성이 높습니다.
- 크기가 작고 이해하기가 쉽습니다.
- 다중 사용자(Multi-User), 다중 작업(Multi-Tasking)을 지원합니다.
- 많은 네트워크 기능을 제공하므로 통신망(Network) 관리용 운영체제로 적합합니다.
- 트리 구조의 파일 시스템을 갖습니다.
- 전문적인 프로그램 개발에 용이합니다.
- 다양한 유틸리티 프로그램이 존재합니다.
※ 다중 사용자(Multi-User), 다중 작업(Multi-Tasking)
- 다중 사용자(Mutil-User)는 여러 사용자가 동시에 시스템을 사용하는 것이고, 다중 작업(Multi-Tasking)은 여러 개의 작업이나 프로그램을 동시에 수행하는 것을 의미합니다.
- 하나 이상의 작업을 백그라운드에서 수행하므로 여러 작업을 동시에 처리할 수 있습니다.
※ 포그라운드 작업과 백그라운드 작업
여러 개의 작업이 동시에 실행될때 전면에서 실행되는 우선순위가 높은 작업을 포그라운드 작업이라고 하고, 같은 상황에서 우선순위가 낮아 화면에 보이지 않고 실행되는 프로그램을 백그라운드 작업이라고 합니다.
UNIX 시스템의 구성
- 커널(Kernel)
- UNIX의 가장 핵심적인 부분입니다.
- 컴퓨터가 부팅될 때 주기억장치에 적재된 후 상주하면서 실행됩니다.
- 하드웨어를 보호하고, 프로그램과 하드웨어 간의 인터페이스 역할을 담당합니다.
- 프로세스(CPU 스케줄링) 관리, 기억장치 관리, 파일 관리, 입 출력 관리, 프로세스간 통신, 데이터 전송 및 변환 등 여러 가지 기능을 수행합니다.
- 쉘(Shell)
- 사용자의 명령어를 인식하여 프로그램을 호출하고 명령을 수행하는 명령어 해석기 입니다.
- 시스템과 사용자 간의 인터페이스를 담당합니다.
- DOS의 COMMAND.COM과 같은 기능을 담당합니다.
- 주기억장치에 상주하지 않고, 명령어가 포함된 파일 형태로 존재하며 보조장치기억에서 교체 처리가 가능합니다.
- 공용 Shell(Bourne Shell, C Shell, Korn Shell)이나 사용자 자신이 만든 Shell을 사용할 수 있습니다.
- 유틸리티 프로그램 (Utility Program)
- 일반 사용자가 작성한 응용 프로그램을 처리하는 데 사용합니다.
- DOS에서의 외부 명령어에 해당합니다.
- 유틸리티 프로그램에는 에디터, 컴파일러, 인터프리터, 디버거 등이 있습니다.
※ DOS(Disk Operating System)
운영체제 중 하나로 UNIX와 더불어 한 시대를 풍미한 텍스트 기반의 대표적인 운영 체제입니다.
검은 화면의 프롬프트라고 불리는 곳에 키보드로 명령어를 입력하는 흔히 원시적인 형태의 문자 입력 인터페이스(CLI)의 셸을 가진 운영체제입니다.
※ DOS - COMMAND.COM
COMMAND.COM은 도스와 윈도우 95, 98, ME 등을 기본으로 하는 운영 체제 셸의 파일 이름으로 명령 줄 해석기라고도 합니다.
※ 에디터
컴퓨터로 저장되는 파일을 작성하는 프로그램입니다.
※ 컴파일러
특정 언어로 쓰여 있는 문설를 다른 프로그래밍 언어로 옮기는 언어 번역 프로그램입니다.
※ 인터프리터
프로그래밍 언어의 소스 코드를 바로 실행하는 컴퓨터 프로그램 또는 환경을 말합니다.
※ 디버거
다른 대상 프로그램을 테스트하고 디버그하는 데 쓰이는 컴퓨터 프로그램입니다.
UNIX 파일 시스템의 구조
UNIX 파일 시스템의 구조는 디스크를 블록으로 분류하여 배치한 구조를 의미합니다.
UNIX 파일 시스템의 구조는 부트 블록(Boot Block), 슈퍼 블록(Super Block), I-node(Index-node) 블록, 데이터 블록으로 구성되어 있습니다.
부트 블록 | 부팅 시 필요한 코드를 저장하고 있는 블록 |
슈퍼 블록 | 전체 파일 시스템에 대한 정보를 저장하고 있는 블록 |
I-node 블록(Index-node) | ● 각 파일이나 디렉터리에 대한 정보를 저장하고 있는 블록 ● 정보 : 파일 소유자의 사용자 번호(UID) 및 그룹 번호(GID), 파일 크기, 파일 타입 (일반 디렉터리 특수 파일 등), 생성 시기, 최종 변경 시기, 최근 사용 시기, 파일 보호 권한, 파일 링크 수, 데이터가 저장된 블록의 시작 주소 |
데이터 블록 | 디렉터리별로 디렉터리 엔트리와 실제 파일에 대한 데이터가 저장된 블록 |
※ 디렉터리 엔트릭(Directory Entry)
디렉터리 엔트릭은 파일 이름과 I-node 번호로 구성되어 이들을 서로 연결해 주는 기능을 수행합니다.
UNIX / LINUX 기본 명령어
CLI 기본 명령어 : 쉘(Shell)에 명령어를 입력하여 작업을 수행하는 것으로, UNIX / LINUX의 주요 기본 명령어는 다음과 같습니다.
명령어 | 기능 |
fork | 새로운 프로세스를 생성 한다.(하위 프로세스 호출, 프로세스 복제 명령) |
exec | 새로운 프로세스를 수행한다. |
kill | 프로세스를 제거한다. |
& | 백그라운드 처리를 위해 명령의 끝에 입력한다. |
ps | 현재 작업중인 프로세스의 상태 정보를 확인한다. |
cp | 파일을 복사한다. |
mv | 파일을 이동시키거나 이름을 변경한다. |
rm | 파일을 삭제한다. |
cat | 파일 내용을 화면에 표시한다. |
chmod | 파일의 보호 모드를 설정하여 파일의 사용 허가를 지정한다. |
mkfs | 파일 시스템을 생성한다. |
ls | 현재 디렉터리의 파일 목록을 확인한다. |
finger | 사용자 정보를 표시한다. |
chown | 소유자를 변경한다. |
GUI 기본 명령어 : UNIX와 LINUX는 기본적으로 CLI를 기반으로 운영되는 시스템이지만 X Window라는 별도의 프로그램을 설치하여 GUI 방식으로 운영할 수 있습니다.
※ CLI(Command Line Interface)
CLI는 기보트로 명령어를 직접 입력하여 작업을 수행하는 사용자 인터페이스 입니다.
※ 프로세스 생성
UNIX와 LINUX에서 새로운 프로세스를 생성한다는 것은 기존 프로세스를 복제한다는 것을 의미합니다.
프로세스가 생성되면 기존 프로세스는 상위(부모) 프로세스가 되고, 생성된 프로세스는 하위(자식) 프로세스가 됩니다.
※ GUI(Graphic User Interface)
GUI는 키보드로 명령어를 직접 입력하지 않고, 마우스로 아이콘이나 메뉴를 선택하여 작업을 수행하는 그래픽 사용자 인터페이스를 의미합니다.
Windows의 개요
Windows는 1990년대 마이크로소프트(Microsoft) 사가 개발한 운영체제입니다.
Windows의 주요 특징에는 GUI, 선점형 멀티태스킹, PnP, OLE 등이 있습니다.
- 그래픽 사용자 인터페이스(GUI, Graphic User Interface)
- 키보드로 명령어를 직접 입력하지 않고, 마우스로 아이콘이나 메뉴를 선택하여 모든 작업을 수행하는 방식을 말합니다.
- 초보자도 쉽게 사용할 수 있는 그래픽 사용자 인터페이스(GUI)를 채용했습니다.
- 선점형 멀티태스킹(Preemptive Multi-Tasking)
- 동시에 여러 개의 프로그램을 실행하는 멀티태스킹을 하면서 운영체제가 각 작업의 CPU 이용 시간을 제어하여 응용 프로그램 실행중 문제가 발생하면 해당 프로그램을 강제 종료시키고 모든 시스템 자원을 반환하는 방식을 말합니다.
- 하나의 응용 프로그램이 CPU를 독점하는 것을 방지할 수 있어 시스템 다운 현상없이 더욱 안정적인 작업을 할 수 있습니다.
- PnP(Plug and Play, 자동 감지 기능)
- 컴퓨터 시스템에 프린터나 사운드 카드 등의 하드웨어를 설치했을 때, 해당 하드웨어를 사용하는 데 필요한 시스템 환경을 운영체제가 자동으로 구성해 주는 기능입니다.
- 운영체제가 하드웨어의 규격을 자동으로 인식하여 동작하게 해주므로 PC 주변장치를 연결할 때 사용자가 직접 환경을 설정하지 않아도 됩니다.
- PnP 기능을 활용하기 위해서는 하드웨어와 소프트웨어 모두 PnP를 지원하여야 합니다.
- OLE(Object Linking and Embedding)
- 다른 여러 응용 프로그램에서 작성된 문자나 그림 등의 객체(Object)를 현재 작성 중인 문서에 자유롭게 연결(Linking)하거나 삽입(Embedding)하여 편집할 수 있게 하는 기능입니다.
※ 멀티태스킹(Multi-Tasking, 다중 작업)
멀티태스킹은 여러 개의 프로그램을 동시에 열어 두고 다양한 작업을 동시에 진행하는 것을 말합니다.
Windows 기본 명령어
CLI 기본 명령어 : 명령 프롬프트(Command) 창에 명령어를 입력하여 작업을 수행하는 것으로, 주요 기본 명령어는 다음과 같습니다.
명령어 | 기능 |
DIR | 파일 목록을 표시한다. |
COPY | 파일을 복사한다. |
TYPE | 파일의 내용을 표시한다. |
REN | 파일의 이름을 변경한다. |
DEL | 파일을 삭제한다. |
MD | 디렉터리를 생성한다. |
CD | 디렉터리의 위치를 변경한다. |
CLS | 화면의 내용을 지운다. |
ATTRIB | 파일의 속성을 변경한다. |
FIND | 파일을 찾는다. |
CHKDSK | 디스크 상태를 점검한다. |
FORMAT | 디스크 표면을 트랙과 섹터로 나누어 초기화한다. |
MOVE | 파일을 이동한다. |
GUI 기본 명령어 : 바탕 화면이나 Windows 탐색기에서 마우스로 아이콘을 더블클릭하여 프로그램 실행, 파일의 복사 및 이동, 제어판의 기능 실행 등 모든 작업이 GUI 명령어에 해당합니다.
'정보처리산업기사' 카테고리의 다른 글
정보처리산업기사 - 응용 SW 기초 기술 활용 - 정보 전송 기술 (2) | 2024.06.15 |
---|---|
정보처리산업기사 - 응용 SW 기초 기술 활용 - 정보 통신의 기본 (0) | 2024.06.13 |
정보처리산업기사 - 응용 SW 기초 기술 활용 - 분산 운영체제 (2) | 2024.06.08 |
정보처리산업기사 - 응용 SW 기초 기술 활용 - 정보 관리 (0) | 2024.06.07 |
정보처리산업기사, 정보처리기사 - 디스크 스케줄링 SSTF(Shortest Seek Time First) 알고리즘 집중 탐색!! (0) | 2024.06.06 |