운영체제란?
운영체제란 컴퓨터 시스템의 핵심 소프트웨어로, 하드웨어와 응용 프로그램 간의 중재자 역할을 수행하는 프로그램 집합을 말합니다. 컴퓨터의 자원을 효율적으로 관리하고 응용 프로그램이 원활하게 작동할 수 있도록 지원하며, 프로세서 스케줄링, 메모리 관리, 입출력 제어, 파일 시스템 관리 등 다양한 기능을 제공하여 컴퓨터 시스템의 안정성과 성능을 유지 및 향상합니다.
운영체제의 역할
- 하드웨어와 소프트웨어 중재자: 컴퓨터의 하드웨어와 응용 프로그램 사이에서 중재하는 역할을 합니다. 이를 통해 하드웨어 자원을 효율적으로 관리하고 응용 프로그램이 원활하게 작동할 수 있도록 지원합니다.
- 자원 관리 및 할당: 프로세서, 메모리, 디스크 등의 자원을 관리하고 응용 프로그램에게 필요한 자원을 할당합니다. 이를 통해 여러 작업이 동시에 수행되면서도 자원 충돌을 방지하고 최적의 성능을 유지합니다.
- 프로세스 스케줄링: 다수의 프로세스가 동시에 실행될 때, 운영체제는 이들을 효율적으로 관리하여 CPU를 공정하게 할당합니다. 이를 프로세스 스케줄링이라 하며, 작업들의 순서를 결정하여 시스템의 성능을 최적화합니다.
- 입출력 관리: 컴퓨터 시스템은 입출력 작업도 중요한데, 이를 관리하는 것도 운영체제의 역할 중 하나입니다. 데이터의 읽기와 쓰기, 외부 기기와의 통신 등을 효율적으로 처리하여 응용 프로그램의 작동을 원활하게 합니다.
- 오류 처리와 보안: 시스템에서 발생하는 오류나 예외 상황을 감지하고 처리하는 기능을 운영체제가 수행합니다. 또한, 시스템의 보안을 유지하기 위해 사용자 인증, 접근 권한 관리 등의 역할도 수행합니다
운영체제 유형
운영체제는 다양한 유형으로 분류됩니다.
- 다중 교환(Multi-switching): 다수 작업이 동시 실행되며 포그라운드 프로그램만 실행됨
- 단일 작업(Single-tasking): 한 번에 하나의 작업만 처리됨
- 다중 작업(Multi-tasking): 여러 작업을 동시에 수행함
- 다중 사용자(Multi-user): 단일 프로세서에서 여러 사용자의 프로그램이 실행됨
- 대화형 처리(Interactive Processing): 대화형으로 작업을 처리하며 시분할 처리 기능이 필요함
- 일괄 처리(Batch Processing): 여러 작업을 묶어 한꺼번에 처리함
- 실시간 처리(Real Time Processing): 작업의 처리가 즉각적으로 이루어짐
- 분산 처리(Distributed Processing): 여러 시스템을 연결하여 작업을 분산 처리함
시스템 성능을 나타내는 4가지 요소
시스템 성능은 다음 4가지 요소로 나타낼 수 있습니다.
- 처리 능력(Throughput): 단위 시간당 처리 가능한 작업 양
- 반환 시간(Turnaround Time): 작업이 제출되어 결과를 얻을 때까지 총 소요 시간
- 신뢰도(Reliability): 시스템이 정확하게 작동하는 정도
- 사용 가능도(Availability): 시스템에서 사용 가능한 정도
#외우는 팁을 드리자면 신.사.처.응 이기적 컴활에서 외울 때 쓰는단어죠
가상메모리
가상메모리는 하드디스크 일부를 RAM처럼 사용하는 개념입니다.
- 스왑 영역(swap space): 하드디스크의 일부가 가상메모리로 사용되는 영역
- 스와핑(Swapping): 메모리와 하드디스크 간 데이터 교환
#하지만 요즘날에는 메모리의 성능이 매우 높아지고있어서 메모리 공간을 늘리기 위해서 스왑공간을 늘리는 것은 매우 비. 효. 율. 적입니다.
#옛날에는 메모리가 매우 적고... pc에 물리 메모리카드를 끼울 수 있는 메모리 block이 한정적이었습니다. 그에 따라서 swap 파티션 용량 증대 방법을 이용했었습니다
페이지 교체 알고리즘
페이지 교체 알고리즘이란?
페이지 교체 알고리즘은 메모리에 필요한 페이지가 없을 때 어떤 페이지를 대체할지 결정하는 방법입니다. 이 알고리즘은 한정된 메모리에서 페이지 부재가 발생했을 때 사용되며, FIFO, LRU, LFU 등 다양한 방법으로 페이지를 교체하여 시스템의 성능을 관리하고 최적화합니다.
- FIFO(First-In First-Out): 가장 먼저 적재된 페이지를 제거하는 알고리즘
- LRU(Least Recently Used): 가장 오랫동안 참조되지 않은 페이지를 제거하는 알고리즘
- LFU(Least Frequently Used): 최근에 가장 적게 사용된 페이지를 제거하는 알고리즘
- NUR(Not Used Recently): 참조비트와 변형비트를 사용하여 오랫동안 참조되지 않은 페이지 제거
- SCR(Second Chance Replacement): FIFO 알고리즘의 단점을 보완하며 참조비트로 한 번의 기회를 부여
#이 부분은 정보처리가 시험에서도 자주 출제되는 부분입니다, 또한 전문적인 프로그래밍 심화단계를 하시게 된다면 필요한 개념들입니다
#다음장에서 리눅스의 기초 에대해서 설명하도록하겠습니다
'리눅스 > 리눅스마스터1급' 카테고리의 다른 글
[리눅스마스터 1급] 핵심내용정리 리눅스 실무의 이해 - 하드웨어 편 (21) | 2023.08.30 |
---|---|
[리눅스마스터1급] 핵심 내용 정리: 리눅스 특징 (73) | 2023.08.29 |
[리눅스마스터] 리눅스 top 명령어와 CPU 성능 분석 (28) | 2023.08.22 |
[리눅스마스터1급] - 쉘 스크립트 변수와 expr 예제 포함 (91) | 2023.08.19 |
[리눅스마스터1급] - systemd 의 개요 및 systemctl 명령 (42) | 2023.08.19 |