CS/OS

[CS] 운영체제의 기본

gangmin 2024. 4. 27. 15:46

운영체제는 무엇일까요? 저희가 많이 사용하고 있는 Windows, Mac OS, iOS, Android OS 등등 많은 운영체제를 접하고 있지만, 정확하게 어떤 정의를 가지고 왜 사용하는 지 알지 못했습니다. 오늘은 운영체제는 무엇이고, 왜 사용하는 지 학습했습니다.

 

운영체제는 컴퓨터 사용자와 하드웨어 사이의 중개자 역할을 합니다. 운영체제의 가장 큰 목적은 사용자가 편리하고 효율적으로 프로그램을 실행할 수 있는 환경을 제공하는 것입니다. 다양한 기능을 제공하고, 우리는 이미 많은 부분에서 사용하고 있습니다.

운영체제의 특성

  • 장치 및 관리
  • 계정 관리
  • 오류 감지
  • 메모리 및 프로세스 관리
  • 성능 제어

운영체제의 기능

  • 리소스 관리 : 병렬 접근이 발생하여 여러 사용자가 시스템에 접근하는 경우에 리소스를 관리한다.
  • 프로세스 관리 : 프로세스 예약 및 종료와 같은 작업을 수행하고, 관리한다.
  • 저장소 관리 : 저장소를 관리하기 위한 파일 시스템 제공
  • 보안 : 개인 정보 보호는 승인되지 않은 응용 프로그램이 데이터에 접근하지 못하도록 한다.

운영체제의 종류

운영체제는 파일, 프로세스 및 메모리 관리와 같은 모든 기본 작업을 수행하게 된다. 리소스를 관리하게 된다. 또한, 운영체제는 시스템 프로그램과 하드웨어 사이의 인터페이스 역할을 수행하게 된다.

 

운영체제는 다양한 방식으로 동작하고, 이에 대한 구분으로 4가지로 볼 수 있다.

배치 시스템

배치 시스템은 동일한 요구 사항을 가진 유사한 작업을 일괄적으로 그룹화하는 역할을 수행하게 된다. 즉, 비슷한 작업들을 묶어서 하드웨엉에게 전달하는 역할을 운영체제가 하게 된다. 이렇게 하면, 대규모로 생성되는 반복 작업을 쉽게 운영할 수 있게 된다.

배치 시스템 운영 이미지

장점

  • 사용자로부터 다양한 작업을 받을 수 있고 대기열에 존재하는 작업이 얼마나 있는지 파악할 수 있다.
  • 여러 사용자가 공유할 수 있다.
  • 일괄 시스템으로 대규모 작업을 반복하기 쉽다.

단점

  • 운영자가 배치 시스템에 대해서 잘 알고 있어야 한다.
  • 디버깅이 쉽지 않다.
  • 작업이 실패하면 다른 작업은 알 수 없는 시간동안 기다려야 한다.

멀티 프로그래밍 운영체제

멀티 프로그래밍 운영체제는 하나 이상의 프로그램이 주 메모리에 존재하고 그 중 하나가 계속 실행될 수 있는 시스템이다. 다양한 작업들이 실행이 가능한 작업으로 있는 것을 의미한다. 여러 작업들이 동시에 실행된다고 착각할 수 있지만, 하나의 작업을 수행하고, 나머지 작업들은 실행 준비 상태로 존재하게 된다.

멀티 프로그래밍 이미지

장점

  • 시스템이 처리할 수 있는 양이 증가한다.
  • 응답 시간을 줄이는 데 도움이 된다.

단점

  • 시스템 리소스와 사용자 상호 작용을 위한 기능이 없다.

멀티 프로세스 운영체제

자원 실행에 둘 이상의 CPU가 사용되는 운영체제이다. 우리는 CPU는 하나인 컴퓨터가 익숙하다. 하지만, 대용량 컴퓨터에서는 여러개의 CPU를 사용하도록 구성하는 경우가 있을 수 있다. 이런 경우를 멀티 프로세스 운영체제라고 할 수 있는 것이다.

멀티 프로세싱 운영체제

장점

  • 시스템 처리량이 증가한다.
  • 여러 프로세스가 있으므로 한 프로세서가 실패하면 다른 프로세서로 진행할 수 있다.

단점

  • 여러 CPU로 인해서 복잡하고 이해하기 어렵다.

멀티 태스킹 운영체제

단순히 라운드 로빈 스케줄링 알고리즘을 갖춘 운영체제를 이야기 하게된다. CPU는 다양한 프로세스를 실행하기 위해서 다양한 전략을 적용하게 되는데 우리는 이것을 스케줄링 알고리즘이라고 부른다. 자세한 내용은 추가적으로 포스팅할 예정이다.

멀티 태스킹 운영체제

장점

  • 운영체제에서 여러 프로그램을 동시에 실행할 수 있다.
  • 적절한 메모리 관리가 제공된다.

단점

  • 프로그램이 많은 경우 시스템이 쉽게 가열된다.

기본적인 운영체제의 구분을 알아보았다. 추가적으로 시분할 운영체제, 분산 운영체제 등 다양한 운영체제가 존재하게 된다. 가장 중요한 내용은 운영체제는 사용자와 하드웨어를 연결할 수 있도록 해주는 시스템 소프트웨어라는 것이다.

'CS > OS' 카테고리의 다른 글

[CS] 리눅스 사용자 관리  (0) 2024.05.04