[정처기 필기] 「4」 | 응용 SW 기초 기술 활용 - (3.1) 운영체제의 개념, Windows, UNIX / LINUX / MacOS
「1」 소프트웨어 설계
「2」 소프트웨어 개발
「3」 데이터베이스 구축
> 「4」 프로그래밍 언어 활용
- 서버 프로그램 구현, 프로그래밍 언어 활용, > 응용 SW 기초 기술 활용
「5」 정보시스템 구축 관리
> 1 운영체제의 개념
> 2 Windows
> 3 UNIX / LINUX / MacOS
4 기억장치 관리의 개요
5 가상기억장치 구현 기법 / 페이지 교체 알고리즘
6 가상기억장치 기타 관리 사항
7 프로세스의 개요
8 스케줄링
9 주요 스케줄링 알고리즘
10 환경 변수
11 운영체제 기본 명령어
12 인터넷
13 OSI 참조 모델
14 네트워크 관련 장비
15 TCP / IP
1. 운영체제의 개요
운영체제(OS; Operating System)의 정의
컴퓨터 시스템의 자원들을 효율적으로 관리, 사용자가 컴퓨터를 편리하고 효과적으로 사용하도록 환경을 제공하는 프로그램의 모임
- 사용자와 하드웨어 간 인터페이스, 다른 응용 프로그램이 유용한 작업을 하도록 환경을 제공
사용자 | ||||||||
응용 프로그램 | ||||||||
유틸리티 | ||||||||
운영체제 | ||||||||
하드웨어 |
운영체제의 목적
처리 능력(Throughput) : 일정 시간 내 시스템이 처리하는 일의 양
반환 시간(Turn Around Time) : 시스템에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린 시간
사용 가능도(Availability) : 시스템을 사용할 필요가 있을 때 즉시 사용 가능한 정도
신뢰도(Reliability) : 시스템이 주어진 문제를 정확하게 해결하는 정도
운영체제의 구성
제어 프로그램
- 감시 프로그램(Supervisor Program) : 제어 프로그램 중 가장 핵심적인 역할, 자원의 할당 / 시스템 전체의 작동 상태 감시
- 작업 관리 프로그램(Job Management Program) : 작업이 정상적으로 처리되도록 작업의 순서와 방법 관리
- 데이터 관리 프로그램(Data Management Program) : 작업에 사용되는 데이터와 파일의 표준적인 처리 / 전송을 관리
처리 프로그램
제어 프로그램의 지시를 받아 사용자가 요구한 문제를 해결하는 프로그램
- 언어 번역 프로그램
: 사용자가 고급언어의 원시 프로그램을 기계어 형태의 목적 프로그램으로 변환
: 컴파일러, 어셈블러, 인터프리터 등
- 서비스 프로그램
: 사용자가 컴퓨터를 더욱 효율적으로 사용할 수 있도록 제작된 프로그램
: 분류 / 병합(Sort / Merge), 유틸리티, 프로그램
운영체제의 기능
- 프로세서(처리기, Processor), 기억장치(주기억장치, 보조기억장치), 입 / 출력장치, 파일 / 정보 등의 자원 관리
- 다중 사용자와 다중 응용프로그램 환경에서 자원의 현재 상태를 파악, 자원 분배를 위한 자원의 스케줄링 기능 제공
- 사용자와 시스템 간 편리한 인터페이스 제공
- 하드웨어, 네트워크를 관리 / 제어
- 데이터 관리, 데이터 / 자원의 공유 기능 제공
- 시스템의 오류 검사, 복구
- 자원 보호 기능 제공
- 입 / 출력에 대한 보조 기능 제공
- 가상 계산기 기능 제공
2. Windows
Windows의 개요
마이크로소프트 사가 개발한 운영체제
- 95, 98, me, XP, Vista, 7, 8, 10 버전
- GUI, 선점형 멀티태스킹, OLE, PnP, 네트워크 기능 강화
GUI(Graphic User Interface, 그래픽 사용자 인터페이스)
마우스로 아이콘이나 메뉴를 선택하여 모든 작업 수행하는 방식, 초보자도 쉽게 사용
선점형 멀티태스킹(Preemptive Multi-Tasking, 멀티프로그래밍)
동시에 여러 개의 프로그램을 실행하는 멀티태스킹을 하며, 운영체제가 각 작업의 CPU 이용 시간을 제어, 문제 발생 시 해당 프로그램 강제 종료시키고 모든 시스템 자원을 반환하는 방식
- 하나의 응용 프로그램이 CPU 독점하는 것을 방지하여 시스템 다운 현상 없이 안정적인 작업
PnP(Plug and Play, 자동 감지 기능)
컴퓨터 시스템에 하드웨어 설치 시, 해당 하드웨어를 사용하는 필요한 시스템 환경을 운영체제가 자동으로 구성해 주는 기능
- 운영체제가 하드웨어의 규격을 자동으로 인식하여 동작, 사용자가 직접 환경 설정을 하지 않아도 됨
- 하드웨어와 소프트웨어 모두 PnP를 지원해야 함
OLE(Object Linking and Embedding)
다른 여러 응용프로그램에서 작성된 문자, 그림 등 개체를 현재 작성 중인 문서에 자유롭게 연결, 삽입하여 편집하는 기능, 응용프로그램 간 자료 공유 기능을 지원
- OLE로 연결된 이미지를 원본 프로그램에서 수정, 편집하면 그 내용이 그대로 해당 문서에 반영
255자의 긴 파일명
VFAT(Virtual File Allocation Table)를 이용하여 파일 이름을 최대 255자까지 지정 가능
- \ / : * ? " <> | 를 제외한 모든 문자 / 공백 사용 가능, 한글은 127자까지 지정 가능
Single-User 시스템
컴퓨터 한 대를 한 사람만 독점해서 사용
3. UNIX / LINUX / MasOS
UNIX의 개요 / 특징
AT&T 벨(Bell) 연구소, MIT, General Electric이 공동 개발한 운영체제
- 시분할 시스템(Time Sharing System)을 위해 설계된 대화식 운영체제, 소스가 공개된 개방형 시스템(Open System)
- 대부분 C언어로 작성, 이식성이 높고, 장치와 프로세스 간 호환성이 높음
- 크기가 작고 이해하기 쉬움
- 다중 사용자(Multi-User), 다중 작업(Multi-Tasking)을 지원
- 많은 네트워킹 기능 제공, 통신망 관리용 운영체제로 적합
- 트리 구조의 파일 시스템
- 전문적인 프로그램 개발에 용이
- 다양한 유틸리티 프로그램들이 존재
>다중 사용자(Multi-User), 다중 작업(Multi-Tasking)<
- 다중 사용자 : 여러 사용자가 동시에 시스템 사용
- 다중 작업 : 여러 개의 작업, 프로그램을 동시에 수행
- 하나 이상의 작업을 백그라운드에서 수행하므로 여러 작업 동시에 처리 가능
UNIX 시스템의 구성
사용자(User) 유틸리티(Utility) 쉘(Shell) 커널(Kernel) 하드웨어 |
커널(Kernel)
: 가장 핵심적인 부분
: 부팅될 때 주기억장치에 적재된 후 상주하면서 실행
: 하드웨어 보호, 프로그램과 하드웨어 간 인터페이스 역할
: 프로세스(CPU 스케줄링) 관리, 기억장치 관리, 파일 관리, 입 / 출력 관리, 프로세스 간 통신, 데이터 전송 / 변환
쉘(Shell)
: 사용자의 명령어를 인식하여 프로그램 호출, 명령을 수행, 명령어 해석기
: 시스템과 사용자 간 인터페이스 역할
: DOS의 COMMAND.COM과 같은 기능 수행
: 주기억장치에 상주하지 않고, 명령어가 포함된 파일 형태로 존재, 보조기억장치에서 교체 처리 가능
: 파이프라인 기능 지원, 입 / 출력 재지정을 통해 출력과 입력의 방향 변경 가능
: 공용 Shell(Bourne Shell, C Shell, Korn Shell)이나 사용자 자신이 만든 Shell 사용 가능
Utility Program
: 일반 사용자가 작성한 응용 프로그램을 처리하는 데 사용
: DOS에서의 외부 명령어에 해당
: 에디터, 컴파일러, 인터프리터, 디버거 등
>UNIX에서의 프로세스 간 통신<
각 프로세스는 시스템 호출을 통해 커널의 기능 사용, 프로세스 간 통신은 시그널, 파이프, 소켓 등 사용
- 시그널(Signal) : 간단한 메시지를 이용하여 통신, 초기 UNIX 시스템에서 사용
- 파이프(Pipe) : 한 프로세스의 출력이 다른 프로세스의 입력으로 사용, 단방향 통신 방식
- 소켓(Socket) : 프로세스 사이의 대화 가능, 쌍방향 통신 방식
LINUX의 개요 / 특징
리누스 토발즈(Linus Torvalds)가 UNIX를 기반으로 개발한 운영체제
- 프로그램 소스 코드가 무료로 공개, 프로그래머가 원하는 기능 추가 가능, 다양한 플랫폼에 설치하여 사용 가능, 재배포 가능
- UNIX와 호환 가능
MacOS의 개요 / 특징
애플(Apple) 사가 UNIX를 기반으로 개발한 운영체제
- 애플 사에서 생산하는 제품만 사용 가능
- 드라이버 설치 / install과 uninstall 과정이 단순
>파일 디스크립터(File Descriptor, 파일 서술자)<
파일 관리를 위한 운영체제가 필요로 하는 파일에 대한 정보를 가진 제어 블록, == 파일 제어 블록(FCB; File Control Block)
- 파일마다 독립적으로 존재, 시스템마다 다른 구조
- 보조기억장치 내에 저장되었다가 해당 파일이 Open 될 때, 주기억장치로 옮겨짐
- 파일 시스템이 관리하므로 사용자 직접 참조 불가능
출처 | <시나공> 정보처리기사 필기 2024 기본서 (길벗알앤디)
'💠기타 > 자격증' 카테고리의 다른 글
[정처기 필기] 「4」 | 응용 SW 기초 기술 활용 - (3.3) 가상기억장치 관리 사항, 프로세스 (1) | 2024.02.16 |
---|---|
[정처기 필기] 「4」 | 응용 SW 기초 기술 활용 - (3.2) 기억장치 관리, 가상기억장치 구현 / 페이지 교체 (1) | 2024.02.16 |
[정처기 필기] 「4」 | 프로그래밍 언어 활용 - (2.7) 스크립트 언어, 라이브러리, 예외 처리 (0) | 2024.02.16 |
[정처기 필기] 「4」 | 프로그래밍 언어 활용 - (2.6) Python의 기초, 활용 (생략) (1) | 2024.02.15 |
[정처기 필기] 「4」 | 프로그래밍 언어 활용 - (2.5) 포인터, 구조체 (0) | 2024.02.15 |