프로그래밍/운영체제

운영체제 · 운영체제 개념

반응형

운영체제 (OS, Operating System)


정의 : 컴퓨터 시스템의 자원들을 효율적으로 관리하고, 사용자가 컴퓨터를 편리하게 사용할 수 있도록 환경을 제공하는 것

종류 : Unix, Linux, MS-DOS, Windows, macOS 등


운영체제의 역할

  • 하드웨어와 사용자 간의 인터페이스 제공 (CUI, GUI 등)
  • 프로세스 처리 및 스케줄링
  • CPU, 입출력장치, 파일 등의 자원 관리
  • 하드웨어, 네트워크 제어 등 다양한 역할 수행






운영체제의 목적


처리 능력(Throughput) 향상 : 처리 능력이란 일정 시간 내에 처리할 수 있는 작업량을 뜻하며, 시스템 전체의 생산성을 측정하는 단위이다.

응답 시간(Turn Around Time) 단축 : 응답 시간이란 사용자가 처리를 요구한 시점부터 결과를 얻을 때까지 걸리는 시간을 말하며, 값이 낮을수록 좋다.

사용 가능도(Availability) 향상 : 원하는 시간 내에 시스템을 얼마나 빨리 사용할 수 있는지에 대한 정도를 나타낸다.

신뢰도(Reliability) 향상 : 시스템이 주어진 문제를 얼마나 정확하게 수행하는지에 대한 정도를 나타낸다.






운영체제 방식


일괄 처리 시스템 (Batch Processing System)

  • 데이터를 일정한 양이나 일정한 기간만큼 모은 후, 한꺼번에 처리하는 시스템이다.
  • 데이터를 순차적으로 처리하며, 하나의 작업이 끝나기 전까지는 다른 작업을 수행할 수 없다.


시분할 시스템 (Time Sharing System)

  • CPU 스케줄링과 멀티 프로그래밍을 통해 컴퓨터 자원을 시간적으로 분할하여, 각 사용자들이 동시에 모두 사용할 수 있게 해주는 시스템이다.
  • 엄밀히 말하자면 시스템의 자원을 정해진 시간(Time slice, Quantum) 만큼 번갈아가면서 사용하는 것이지만, 워낙 짧은 시간 안에 빠르게 작업이 처리되기 때문에, 사용자들은 동시에 사용하는 것처럼 느낄 수 있다.
  • 이 시스템을 통해 모든 작업이 동시에 진행되는 것처럼 대화식 처리가 가능하다.


실시간 시스템 (Real-time System)

  • 자원이 한정돼있는 상황에서 작업 수행이 요청되었을 때, 정해진 시간 내에 결과를 처리해주는 시스템이다.
  • 시간의 정확성과 예측성을 보장해야 하는 환경에서 사용된다. 예) 공장 제어, 인공위성 제어, 무기 제어 등


분산 처리 시스템 (Distributed Processing System)

  • 다수의 컴퓨터(프로세서)를 네트워크로 연결하여 작업을 처리하는 시스템이다.
  • 다수의 프로세서를 이용하기 때문에, 무겁고 복잡한 계산 문제를 보다 빠르게 계산할 수 있다.




반응형