Operating System (OS, 운영체제)란
컴퓨터 하드웨어와 소프트웨어 자원을 관리하고,
사용자와 시스템 간의 인터페이스를 제공하는 시스템 소프트웨어
컴퓨터 시스템을 구성하고 있는 여러가지 자원(resource)에게 어떤 동작을 하도록 지시하는 역할을 하는 프로그램들의 집합.
사용자 측면에서 컴퓨터의 하드웨어에 대한 지식 없이도 시스템을 쉽게 사용 가능케 해주고
시스템 측면에선 컴퓨터 시스템의 성능을 최대 한도로 향상시키는 프로그램.
- 컴퓨터의 하드웨어 관리
- 응용프로그램들(Application, App)의 토대를 제공해주는 프로그램 (virtual layer제공)
- 사용자, 응용프로그램들과 하드웨어 사이의 중간 매개체 역할 (interface제공).
OS의 목적
- 운영체제는 컴퓨터시스템에 대한 User Interface(사용자 인터페이스)를 제공
- 사용자가 컴퓨터의 H/W 지식 없이도 편리하게 시스템 사용케 함.
- 운영체제는 Hardware에 대한 Application Programming Interface(API)를 제공.
- 상이한 Hardwares 상에서 동일한 Application(=프로그램)이 동작할 수 있도록 해 줌.
- 달리 말하면, Hardware에 대한 virtualization을 제공해줌 (Hardware에 대한 virtual layer제공)
- 초창기 특정 Hardware만을 위한 SW가 제공되던 형태에서 OS를 통해 범용 SW의 등자이 이루어짐.
- 운영체제는 resource manager로서 컴퓨터 시스템의 자원들을 효율적인 운영 (자원 스케쥴링 등등)
OS가 제공하는 Services
- 프로그램의 실행 : 사용자가 원하는 프로그램을 실행시킴.
- 입력/출력 동작 지원 : 사용자 프로그램이 데이터의 I/O를 수행할 수 있게 지원.
- 파일 시스템 조작 : 파일의 생성, 삭제 등의 파일 관리에 대한 기능을 제공.
- 자원 관리 및 할당 : 여러 사용자 혹은 프로세스가 제한된 자원을 사용하려고 할 때, 효율적으로 해당 자원 할당을 수행.
- 계정 관리 : 사용자들의 컴퓨터에 관한 기록을 저장하고, 이를 처리하여 자원의 활용 상태 파악등에 이용.
- 오류 탐지 : 항상 가능한 한 모든 오류의 상태를 탐지.
- 보호 : 사용자 정보를 보호할 수 있는 체제를 제공.
OS의 구성요소
일반적으로 운영체제는 크게 커널(kernel), 셸(shell), 그리고 유틸리티(utility)로 구성됨.
Kernel
OS의 핵심 부분으로 Computer System의 모든 주요 기능을 관리함.
Booting시 가장먼저 RAM에 적재되며 종료할 때까지 항상 memory resident임.
https://dsaint31.me/mkdocs_site/OS/kernel/
Shell
사용자와 Kernel 사이의 interface를 제공.
사용자가 input device(CLI의 경우 키보드)를 통해 명령을 입력하면, 셸은 그 명령을 해석하고 실행한 후 결과를 사용자에게 반환함.
Shell이라고 하면 보통 CLI를 제공하는 것으로 생각하지만, GUI도 제공함.
https://dsaint31.me/mkdocs_site/OS/console_terminal_shell_kernel/#shell
Utility
Utility는 특정 작업을 수행하기 위해 구현된 System Software Program들을 가르킴.
- 종류가 매우 다양하며, 시스템관리, 파일관리, 디스크관리, 네트워크관리 등등의 다양한 작업을 수행함.
- 이들은 서로 상호작용하며, 효율적이고 안정적인 컴퓨팅 환경을 사용자에게 제공함.
Kernel과의 차이점은
Kernel이 항상 RAM에 상주(memory resident)인 것과 달리
Utility는 필요할 때만 RAM에 적재(Disk Resident)됨.
예를 들자면 다음과 같은 Program들이 Utility임.
- 바이러스 스캐너: 시스템을 바이러스로부터 보호하기 위해 사용됨.
- 파일 관리자: 파일과 폴더를 관리하는데 사용됨.
- 백업 소프트웨어: 데이터를 백업하고 복원.
- 디스크 정리 도구: 불필요한 파일을 제거하여 디스크 공간을 확보.
Utility도 운영체제의 일부로서 중요한 역할을 수행한다
(하지만 너무 다양하다보니, OS등을 배울 때 앞서 두 구성요소보다는 덜 다루어지는 경향이 있음).
다음 URL에서 System Software에 대해 살펴볼 것.
https://dsaint31.me/mkdocs_site/CE/ch00/component_of_computer/#software
대표적인 OS종류
- Windows
- Linux
- Unix
- Mac OS
더 읽어보면 좋은 자료들
https://dsaint31.me/mkdocs_site/OS/operating_system/
https://take-a-step-first.tistory.com/62
'Computer > CE' 카테고리의 다른 글
[CE] (Logic) Gates (0) | 2022.12.08 |
---|---|
[CE] Combinatorial Circuit or Combinatorial Logic Circuit (0) | 2022.12.08 |
[CE] Binary Encoder and Decoder (0) | 2022.12.08 |
[CE] Demultiplexer and Multiplexer (Demux and Mux) (0) | 2022.12.08 |
Hub, Switch, Router, 공유기(NAT장비) (0) | 2021.10.26 |