149. 운영체제 (OS; Operating System)의 개념
1. 운영체제의 정의
- 컴퓨터 시스템의 자원(CPU, 주기억장치, 보조기억장치, 프린터, 파일 및 정보 등)들을 효율적으로 관리
- 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임
- 사용자와 컨퓨터 하드웨어 간의 인터페이스로서 동작하는 시스템 소프트웨어의 일정
- 다른 응용 프로그램이 유용한 작업을 할 수 있도록 환경 제공

2. 운영체제 목적
| 목적 | 설명 |
| 처리 능력(throughput) | 일정 시간 내에 시스템이 처리하는 일의 양 |
| 반환 시간(Turn Around Time) | 시스템에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린 시간 |
| 사용 가능도(Acailability) | 시스템을 사용할 필요가 있을 때 즉시 사용 가능한 정도 |
| 신뢰도(Reliability) | 시스템이 주어진 문제를 정확하게 해결하는 정도 |
3. 운영체제 구성
1) 제어 프로그램 (Control Program)
- 감시 프로그램(Supervisor Program)
- 제어프로그램 중 가장 핵심적인 역할
- 자원의 할당 및 시스템 전체의 작동 상태를 감시하는 프로그램
- 작업 관리 프로그램(Job Management Program)
- 작업이 정상적으로 처리될 수 있도록 작업의 순서와 방법을 관리하는 프로그램
- 데이터 관리 프로그램(Data Management Program)
- 작업에 사용되는 데이터와 파일의 표준적인 처리 및 전송을 관리하는 프로그램
2) 처리 프로그램 (Processing Program)
- 언어 번역 프로그램
- 사용자가 고급언어로 작성한 원시 프로그램을 기계어 형태의 목적 프로그램으로 변환시키는 것
- 컴파일러, 어셈블러, 인터프리터
- 서비스 프로그램
- 사용자가 컴퓨터를 더욱 효율적으로 사용할 수 있도록 제작된 프로그램
- 분류/병합(Sort/Merge), 유틸리티 프로그램
4. ⭐ 운영체제 기능
- 프로세서(처리기, Processor), 기억장치(주기억장치, 보조기억장치), 입 · 출력장치, 파일 및 정보 등의 자원을 관리
- 자원을 효율적으로 관리하기 위해 자원의 스케줄링 기능 제공
- 사용자와 시스템 간의 편리한 인터페이스 제공
- 시스템의 각종 하드웨어와 네트워크를 관리 · 제어
- 데이터를 관리, 데이터 및 자원의 공유 기능을 제공
- 시스템의 오류를 검사하고 복구
- 자원 보호 기능 제공
- 입 · 출력에 대한 보조 기능을 제공
- 가상 계산기 기능 제공
150. Windows
- 1990년대 마이크로소프트사가 개발한 운영체제
1. ⭐ Windows 주요 특징
- 그래픽 사용자 인터페이스(GUI; Graphic User Interface)
- 키보드로 명령어를 직업 입력하지 않고, 마우스로 아이콘이나 메뉴를 선택하여 모든 작업을 수행하는 방식
- 초보자도 쉽게 사용
- 선점형 멀티태스킹(Preemptive Multi-Tasking)
- 멀티태스킹을 하면서 운영체제가 각 작업의 CPU 이용 시간을 제어하여 응용 프로그램 실행 중 문제가 발생하면 해당 프로그램을 강제 종료시키고 모든 시스템 자원을 반환하는 방식
- 하나의 응용 프로그램이 CPU를 독점하는 것을 방지할 수 있어 시스템 다운 현상없이 더욱 안정적인 작업 가능
- PnP(Plug and Play, 자동 감지 기능)
- 컴퓨터 시스템에 프린터나 사운드 카드 등의 하드웨어를 설치했을 때, 해당 하드웨어를 사용하는 데 필요한 시스템 환경을 운영체제가 자동으로 구성해 주는 기능
- 운영체제가 하드웨어의 규격을 자동으로 인식하여 동작하게 해주므로 PC 주변 장치를 연결할 때 사용자가 직접 환경을 설정하지 않아도 됨
- 하드웨어와 소프트웨어 모두 PnP를 지원하여야 함
- OLE(Object Linking and Embedding)
- 다른 여러 응용 프로그램에서 작성된 문자나 그림 등의 개체(Object)를 현재 작성 중인 문서에 자유롭게 연결(Linking)하거나 삽입(Embedding)하여 편집할 수 있게 하는 기능
- 255자의 긴 파일명
- Single-User 시스템
151. ⭐ UNIX / LINUX / MacOS
1. UNIX의 개요 및 특징
- 1960년대 AT&T 벨(Bell)연구소, MIT, General Eletric이 공동 개발
- 시분할 시스템(Time Sharing System)을 위해 설계된 대화식 운영체제
- 소스가 공개된 개방형 시스템(Open System)
- 대부분 C언어로 작성되어 있어 이식성이 높으며 장치, 프로세스 간의 호환성이 높음
- 크기가 작고 이해하기 쉬움
- 다중 사용자(Multi-User), 다중 작업(Multi-Tasking) 지원
- 여러 사용자가 동시에 시스템을 사용하고, 여러개의 작업이나 프로그램을 동시에 수행하는 것
- 하나 이상의 작업을 백그라운드에서 수행하므로 여러 작업을 동시에 처리할 수 있음
- 통신망(Network) 관리용 운영체제로 적합
- 트리 구조의 파일 시스템을 갖음
- 전문적인 프로그램 개발에 용이
- 다양한 유틸리티 프로그램이 존재
2. ⭐ UNIX 시스템 구성

1) 커널(Kernel)
- UNIX의 가장 핵심적인 부분
- 컴퓨터가 부팅될 때 주기억장치에 적재된 후 상주하면서 실행됨
- 하드웨어를 보호하고, 프로그램과 하드웨어 간의 인터페이스 역할 담당
- 프로세스(CPU 스케줄링)관리, 기억장치 관리, 파일 관리, 입 · 출력 관리, 프로세스 간 통신, 데이터 전송 및 변환 등 기능 수행
2) 쉘(Shell)
- 사용자의 명령어를 인식하여 프로그램을 호출하고 명령을 수행하는 명령어 해석기
- 시스템과 사용자 간의 인터페이스 담당
- DOS의 COMMAND.COM과 같은 기능 수행
- 주기억장치에 상주하지 않고, 명령어가 포함된 파이 형태로 존재하며 보조 기억장치에서 교체 처리가 가능
- 파이프라인 기능을 지원하고 입 · 출력 재지정을 통해 출력과 입력의 방향을 변경할 수 있음
- 공용 Shell(Courne Shell, C Shell, Korn Shell)이나 사용자 자신이 만든 Shell을 사용할 수 있음
3) Utility Program
- 일반 사용자가 작성한 응용 프로그램을 처리하는데 사용
- DOS에서의 외부 명령어에 해당
- 에디터, 컴파일러, 인터프리터, 디버거
💡 UNIX에서 프로세스 간 통신
- 각 프로세스는 시스템 호출을 통해 커널의 기능을 사용
- 시그널(Signal) : 간단한 메시지를 이용해 통신하는 것. 초기 UNIX 시스템에서 사용됨
- 파이프(Pipe) : 한 프로세스의 출력이 다른 프로세스의 입력으로 사용되는 단방향 통신 방법
- 소켓(Socket) : 프로세스 사이의 대화를 가능하게 하는 쌍방향 통신 방법
3. LINUX의 개요 및 특징
- 1991년 리누스 토발즈(Linus Torvalds)가 UNIX를 기반으로 개발
- 무료 공개되어 있기에 프로그래머가 원하는 기능을 추가 가능
- 다양한 플랫폼에 설치하여 사용 가능
- 재배포가 가능
- UNIX와 완벽하게 호환
- 대부분의 특징이 UNIX와 동일
4. MacOS의 개요 및 특징
- 1980년대 애플 사가 UNIX를 기반으로 개발
- 아이맥과 맥북 등 애플 사에서 생산하는 제품에서만 사용 가능
- 드라이버 설치 및 install과 uninstall 과정이 단순
💡 파일 디스크립터(File Descriptor, 파일 서술자)
- 파일을 관리하기 위한 시스템이 필요로 하는 파일에 대한 정보를 가진 제어 블록
- 파일 제어 블록(FCB; File Control Block)
- 파일마다 독립적으로 존재
- 시스템에 따라 다른 구조
- 보조기억장치 내에 저장되어 있다가 해당 파일이 Open될 때 주기억장치로 옮겨짐
- 파일 시스템이 관리하므로 사용자가 직접 참조 불가
📖 Reference
2023 시나공 정보처리기사 필기 : 네이버 도서
네이버 도서 상세정보를 제공합니다.
search.shopping.naver.com
728x90
반응형
'Certificate > 정보처리기사' 카테고리의 다른 글
| [4과목 프로그래밍 언어 활용] 응용 SW 기초 기술 활용 - 153. 주기억장치 할당 기법 (0) | 2025.11.21 |
|---|---|
| [4과목 프로그래밍 언어 활용] 응용 SW 기초 기술 활용 - 152. ⭐ 기억장치 관리의 개요 (0) | 2025.11.20 |
| [4과목 프로그래밍 언어 활용] 프로그래밍 언어 활용 - 148. 프로토타입 (0) | 2025.11.20 |
| [4과목 프로그래밍 언어 활용] 프로그래밍 언어 활용 - 147. ⭐ 예외처리 (Exception Handling) (0) | 2025.11.20 |
| [4과목 프로그래밍 언어 활용] 프로그래밍 언어 활용 - 146. ⭐ 라이브러리 (0) | 2025.11.20 |