🎶 운영체제에 대해 알아보자!
운영체제(OS; Operating System)이란,
컴퓨터 시스템의 자원들을 효과적으로 관리하며, 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임이다. 즉, 컴퓨터 사용자와 하드웨어 간의 인터페이스로서 동작하는 시스템 소프트웨어의 일종이다.
(🎃 운영체제는 유틸리티와 하드웨어 간 인터페이스를 제공한다.)
운영체제의 목적은 다음과 같다.
- 처리 능력(Throughput) : 일정 시간 내에 시스템이 처리하는 일의 양
- 반환 시간(Turn Around Time) : 시스템에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린 시간
- 사용 가능도(Availability) : 시스템을 사용할 필요가 있을 때 즉시 사용 가능한 정도
- 신뢰도(Reliaility) : 시스템이 주어진 문제를 정확하게 해결하는 정도
운영체제의 구성은,
제어 프로그램과 처리 프로그램으로 나눌 수 있다.
(1) 제어 프로그램 : 컴퓨터 전체의 작동 상태를 감시, 작업의 순서 지정, 작업에 사용되는 데이터 관리 등의 역할을 수행함
- 감시 프로그램 : 제어프로그램 중 가장 핵심적인 역할, 자원의 할당 및 시스템 전체의 작동 상태 감시
- 작업 관리 프로그램 : 작업의 순서와 방법을 관리하는 프로그램
- 데이터 관리 프로그램 : 작업에 사용되는 데이터와 파일의 표준적 처리 및 전송을 관리
(2) 처리 프로그램 : 제어 프로그램의 지시를 받아 사용자가 요구한 문제를 해결하기 위한 프로그램
- 언어 번역 프로그램 : 사용자가 고급언어로 작성한 원시 프로그램을 기계어 형태의 목적 프로그램으로 변환시키는 것
- 서비스 프로그램 : 사용자가 컴퓨터를 더욱 효율적으로 사용할 수 있도록 제작된 프로그램
운영체제의 기능은,
- 프로세서, 기억장치, 입출력장치, 자원 등을 관리한다.
- 자원을 효율적으로 관리하기 위한 자원의 스케줄링 기능을 제공한다.
- 사용자와 시스템 간의 인터페이스를 제공한다.
- 시스템의 각종 하드웨어, 네트워크를 관리 및 제어한다.
- 데이터를 관리하고 데이터 및 자원의 공유 기능을 제공한다.
- 시스템의 오류를 검사하고 복구한다.
- 자원 보호 기능을 제공하고, 입출력에 대한 보조 기능을 제공한다.
Windows란,
1990년대 마이크로소프트 사가 개발한 운영체제로써, 95부터 11까지 다양한 버전이 존재한다. Windows의 특징에는 GUI, 선점형 멀티태스킹, OLE, PnP등이 있다.
(1) GUI; Graphic User Interface
키보드로 명령어를 직접 입력하지 않고, 마우스로 아이콘이나 메뉴를 선택하여 모든 작업을 수행하는 방식
(2) 선점형 멀티태스킹; Preemptive Multi-Tasking
- 동시에 여러 개의 프로그램을 실행하는 멀티태스킹을 하면서 운영체제가 각 작업의 CPU 이용 시간을 제어하여 응용 프로그램 실행 중 문제가 발생하면 해당 프로그램을 강제 종료시키고 모든 시스템 자원을 반환하는 방식
- 하나의 응용 프로그램이 CPU를 독점하는 것을 방지해 시스템 다운 현상 없이 더욱 안정적인 작업이 가능토록 한다.
(3) PnP; Plug and Play 이하 자동 감지 기능
- 컴퓨터 시스템에 프린터나 사운드 카드 등의 하드웨어를 설치했을 때, 해당 하드웨어를 사용하는 데 필요한 시스템 환경을 운영체제가 자동으로 구성해 주는 기능
- PnP 기능을 활용하기 위해 하드웨어와 소프트웨어 모두 PnP를 지원해야 한다.
(4) OLE; Object Linking and Embedding
- OLE는 다른 여러 응용 프로그램에서 작성된 문자나 그림 등의 개체를 현재 작성 중인 문서에 자유롭게 연결하거나 삽입하여 편집할 수 있게 하는 기능
- OLE로 연결된 이미지를 원본 프로그램에서 수정하거나 편집하면 그 내용이 그대로 해당 문서에 반영됨
UNIX란,
1960년대 벨 연구소, MIT, General Electric이 공동 개발한 운영체제로써, 특징에는 다음과 같은 것들이 있다.
- 시분할 시스템을 위해 설계된 대화식 운영체제로, 소스가 공개된 개방형 시스템
- 대부분 C언어로 작성돼 있어 이식성이 높고 장치, 프로세스 간 호환성이 높음
- 크기가 작고 이해하기 용이
- 다중 사용자, 다중 작업을 지원 (🎃 Windows는 단일 사용자만 지원한다.)
- 많은 네트워킹 기능을 제공하므로 통신망 관리용 운영체제로 적합
- 트리 구조의 파일 시스템을 갖음
- 전문적인 프로그램 개발에 용이
- 다양한 유틸리티 프로그램들이 존재
UNIX 시스템의 구성은,
하드웨어 < 커널 < 쉘 < 유틸리티 < 사용자 순으로 구성돼 있다.
(1) 커널; Kernel
- UNIX의 가장 핵심적인 부분으로, 컴퓨터가 부팅될 때 주기억장치에 적재된 후 상주하면서 실행된다.
- 하드웨어를 보호하고, 프로그램과 하드웨어 간의 인터페이스 역할을 한다.
- 프로세스, 기억장치, 파일, 입출력 관리 등 여러 가지 기능을 수행한다.
(2) 쉘; Shell
- 사용자의 명령어를 인식하여 프로그램을 호출하고 명령을 수행하는 명령어 해석기로, 시스템과 사용자 간의 인터페이스를 담당한다.
- 주기억장치에 상주하지 않고, 명령어가 포함된 파일 형태로 존재하며 보조 기억장치에서 교체 처리가 가능하다.
- 파이프라인 기능을 지원하고, 입출력 재지정을 통해 출력과 입력의 방향을 변경할 수 있다.
- 공용 Shell이나 사용자가 만든 Shell을 사용할 수 있다.
(3) 유틸리티; Utility
일반 사용자가 작성한 응용 프로그램을 처리하는 데 사용한다. 종류로는 에디터, 컴파일러, 인터프리티, 디버거 등이 있다.
LINUX란,
- 1991년 리누스 토발즈가 UNIX를 기반으로 개발한 운영체제로, 프로그램 소스 코드가 무료로 공개돼 있기에 프로그래머가 원하는 기능을 추가할 수 있고, 다양한 플랫폼에 설치하여 사용이 가능하며, 재배포가 가능하다.
- UNIX와 완벽하게 호환되며, 대부분의 특징이 UNIX와 동일하다.
MacOS란,
1980년대 애플이 UNIX를 기반으로 개발한 운영체제로, 애플 사에서 생산하는 제품에서만 사용이 가능한 운영체제이다. 드라이버 install 및 uninstall 과정이 단순하다는 특징이 있다.
'정보처리기사' 카테고리의 다른 글
보안 관련 신기술 - 블록체인, DLT, QKD, PET, 비트로커, PIA, 소프트웨어 에스크로, BaaS, OWASP, TCP 래퍼, 허니팟, DPI (0) | 2025.01.25 |
---|---|
SW 신기술 - 증발품, OGSA, SOA, SaaS, CEP, 디지털 트윈, 텐서플로, 도커, 그리고 스크래피 (2) | 2025.01.23 |
SW 신기술 - 인공지능, 뉴럴링크, 딥 러닝, 전문가 시스템, 가상현실, 증강현실, 혼합현실, 그레이웨어, 매시업, RIA, 그리고 시맨틱 웹 (0) | 2025.01.22 |
OSI 참조 모델 - 물리, 데이터 링크, 네트워크, 전송, 세션, 표현, 응용 계층 (0) | 2025.01.18 |
정규화(Normalization) - 1NF, 2NF, 3NF, BCNF, 4NF 그리고 5NF (0) | 2025.01.08 |
데이터베이스 설계 - 개념적, 논리적, 물리적 설계 (0) | 2025.01.06 |
자료 구조 - 선형 리스트, 스택, 큐, 데크, 그리고 그래프 (0) | 2025.01.04 |
정렬(SORT) - 퀵 정렬, 힙 정렬, 합병 정렬, 기수 정렬 (0) | 2025.01.03 |