본문 바로가기
리눅스/리눅스마스터1급

[리눅스마스터1급] 필수 개념 정리: 운영체제의 이해

by 혼자왔서연 2023. 8. 29.
반응형

 

 

 

 

 

 

운영체제란?

운영체제란 컴퓨터 시스템의 핵심 소프트웨어로, 하드웨어와 응용 프로그램 간의 중재자 역할을 수행하는 프로그램 집합을 말합니다. 컴퓨터의 자원을 효율적으로 관리하고 응용 프로그램이 원활하게 작동할 수 있도록 지원하며, 프로세서 스케줄링, 메모리 관리, 입출력 제어, 파일 시스템 관리 등 다양한 기능을 제공하여 컴퓨터 시스템의 안정성과 성능을 유지 및 향상합니다.

운영체제의 역할

  1. 하드웨어와 소프트웨어 중재자:  컴퓨터의 하드웨어와 응용 프로그램 사이에서 중재하는 역할을 합니다. 이를 통해 하드웨어 자원을 효율적으로 관리하고 응용 프로그램이 원활하게 작동할 수 있도록 지원합니다.
  2. 자원 관리 및 할당: 프로세서, 메모리, 디스크 등의 자원을 관리하고 응용 프로그램에게 필요한 자원을 할당합니다. 이를 통해 여러 작업이 동시에 수행되면서도 자원 충돌을 방지하고 최적의 성능을 유지합니다.
  3. 프로세스 스케줄링: 다수의 프로세스가 동시에 실행될 때, 운영체제는 이들을 효율적으로 관리하여 CPU를 공정하게 할당합니다. 이를 프로세스 스케줄링이라 하며, 작업들의 순서를 결정하여 시스템의 성능을 최적화합니다.
  4. 입출력 관리: 컴퓨터 시스템은 입출력 작업도 중요한데, 이를 관리하는 것도 운영체제의 역할 중 하나입니다. 데이터의 읽기와 쓰기, 외부 기기와의 통신 등을 효율적으로 처리하여 응용 프로그램의 작동을 원활하게 합니다.
  5. 오류 처리와 보안: 시스템에서 발생하는 오류나 예외 상황을 감지하고 처리하는 기능을 운영체제가 수행합니다. 또한, 시스템의 보안을 유지하기 위해 사용자 인증, 접근 권한 관리 등의 역할도 수행합니다

운영체제 유형

운영체제는 다양한 유형으로 분류됩니다.

  • 다중 교환(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 알고리즘의 단점을 보완하며 참조비트로 한 번의 기회를 부여

#이 부분은 정보처리가 시험에서도 자주 출제되는 부분입니다, 또한 전문적인 프로그래밍 심화단계를 하시게 된다면 필요한 개념들입니다  

 

#다음장에서 리눅스의 기초 에대해서 설명하도록하겠습니다

2023.08.29 - [리눅스/리눅스마스터1급] - [리눅스마스터1급] 핵심 내용 정리: 리눅스 특징

반응형

Animated Rainbow Nyan Cat