
🎡운영체제 (Operating System)
일반적으로 하드웨어를 관리하고, 응용 프로그램과 하드웨어 사이에서 인터페이스 역할을 하며 시스템의 동작을 제어하는 시스템 소프트웨어로 정의한다.
운영체제는 시스템의 자원과 동작을 관리하는 소프트웨어다.
운영체제 운영 방법
- 초기에는 운영체제는 ROM에 상주하여 컴퓨터 시스템을 감시하거나 단일 프로세스에서 요구한 자원을 분배하는 정도의 역할만을 담당하였다.
- 최근의 운영체제는 여러 개의 프로세스가 실행되는 다중 프로그래밍 환경을 통제하는 많은 프로그램을 사용자의 편의성을 위한 프로그램들을 디스크에 보관하였다가 부팅 과정을 통해 RAM에 일부만을 상주시켜 운영된다,
1. 프로세스 관리
- 프로세스, 스레드
- 스케줄링
- 동기화
- IPC 통신
운영체제에서 작동하는 응용 프로그램을 관리하는 기능이다.
어떤 의미에서는 프로세서(CPU) 관리하는 것이라고 볼 수도 있다. 현재 CPU를 점유해야 할 프로세스를 결정하고, 실제로 CPU를 프로세스에 할당하며, 이 프로세스 간 공유 자원 접근과 통신 등을 관리하게 된다.
2. 저장장치 관리
1차 저장장치에 해당하는 메인 메모리와 2차 저장장치에 해당하는 하드디스크, NAND 등을 관리하는 기능이다.
- 1차 저장 장치(Main Memory)
- 프로세스에 해당하는 메모리 영역의 할당과 해제
- 각 메모리 영역 간의 침범 방지
- 메인 메모리의 효율적 활용을 위한 가상 메모리 기능
- 2차 저장장치(HDD, NAND, Flash Memory 등)
- 파일 형식의 데이터 저장
- 이런 파일 데이터 관리를 위한 파일 시스템을 OS에서 관리
- FAT, NTFS, EXT2, JFS, XFS등 많은 파일 시스템들이 개발되어 사용 중
3. 네트워킹
네트워킹은 컴퓨터 활용의 핵심과도 같아졌다.
TCP/IP 기반의 인터넷에 연결하거나, 응용 프로그램이 네트워크를 사용하려면 운영체제에서 네트워크 프로토콜을 지원해야 한다. 현재 상용 OS들은 다양하고 많은 네트워크 프로토콜을 지원한다.
이처럼 운영체제는 사용자와 컴퓨터 하드웨어 사이에 위치해서, 하드웨어를 운영 및 관리하고 명령어를 제어하여 응용 프로그램 및 하드웨어를 소포트웨어적으로 제어 및 관리를 해야한다.
4. 사용자 관리
5. 디바이스 드라이버
운영체제의 목표
- 컴퓨터 시스템의 처리량, 신뢰성을 최대화한다.
- 컴퓨터 시스템의 반환시간, 응답시간, 처리시간, 대기시간, 경과시간을 최소화한다.
- 컴퓨터를 구성하고 있는 자원을 효율적으로 운영하고 제어한다.
- 사용자에게 편리한 인터페이스를 제공하낟.
- 제한된 자원을 효율적으로 공유하기 위하여 스케줄링한다.
운영체제 시스템의 성능 평가 척도
(1) 처리량(Throughput)
- 동일한 시간내에서 처리할 수 있는 작업량을 의미한다.
- 보통 안정된 상태에서 측정되며 하루에 처리되는 작업의 개수 또는 시간당 처리되는 온라인상에서의 처리 개수 등으로 측정된다.
(2) 반환시간(Turn around time)
- 컴퓨터 센터에 작업을 지시하고 나서부터 결과를 받을 때 까지 경과 시간이다.
- 요청한 작업에 대하여 그 결과를 사용자에게 되돌려 줄 때 까지 소요되는 시간이다.
- 일괄 처리 시스템에서 작업 제출로부터 결과가 얻어질 때까지의 시간이다.
- 주어진 작업의 수행을 위해 시스템에 도작한 시점부터 완료되어 그 작업의 출력이 사용자에게 제출되는 시점까지의 시간으로 정의된다.
(3) 신뢰도(Reliability)
- 시스템이 주어진 문제를 얼마나 정확하게 해결하는가를 나타내는 척도이다.
- 작업의 결과를 얼마나 정확하고 믿을 수 있는가의 요인이다.
(4) 이용 가능도(Availability)
- 잔여량은 컴퓨터 시스템 내에 사용 가능한 자원에 관한 정보 표현이다.
- 사용 가능도는 시스템을 얼마나 빨리 사용할 수 있는가의 정도를 나타낸다.
- 시스템의 전체 운영 시간 중에서 실제 가동하여 사용 중인 시간의 비율이다. 즉, 오류없이 작동된 시간의 비율을 말한다.
- 일반적으로 전체 시간에 대해 주어진 자원이 실제로 사용되는 시간을 백분율로 나타낸다.
(5) 병목(Bottleneck) 현상
- 시스템의 자원 용량 또는 처리량에 있어서 최대 한계에 도달할 때 발생될 수 있다.
Bench Mark Program
컴퓨터 시스템이나 CPU, 운영체제 등의 전반적인 성능을 측정, 비교 하는 프로그램을 말한다. 운영체제이 성능을 평가한다면 실제 처리할 작업의 환경을 가상적으로 구축하고 가상 데이터를 입력하여 작업의 처리량, 반환시간, 신뢰성등을 비교 평가하게 된다.
다중 프로세싱(강 결합 시스템)
하나의 주기억장치와 여러 개의 CPU로 구성된 컴퓨터 시스템에서 주기억장치에 하나 또는 여러개의 프로그램을 적재하여 처리하는 방식으로 보통 병렬 시스템을 말한다.
다중 컴퓨터(약 결합 시스템)
여러개의 독립적인 컴퓨터 시스템에서 하나의 작업을 공동으로 처리할 수 있는 시스템으로 보통 분산 컴퓨터 시스템이라고 한다.
다중 프로세싱 VS 다중 컴퓨터
다중 프로세싱은 한 메모리를 공유하는 여러개의 CPU가 존재하는것
다중 컴퓨터는 독립적인 메모리와 CPU가 특정한 연결관계를 유지하고 연산하는것
운영체제의 계층 구조

📝참고
https://gyoogle.dev/blog/computer-science/operating-system/Operation%20System.html