Make Unreal REAL.
article thumbnail
쉽게 배우는 운영체제

 

CPU의 성능이 낮고 메모리 크기도 작은 시스템에 내장하도록 만든 운영체제를 임베디드 운영체제(Embedded operating system)라고 한다.

 

 

운영체제란,
사용자에게 편리한 인터페이스(Interface) 환경을 제공하고, 컴퓨터 자원(Computer resource)을 효율적으로 관리하고 활용할 수 있도록 하는 소프트웨어다.

 

운영체제는 응용 프로그램(Application program)을 통한 성능 향상 뿐만 아니라, 자원 관리(Resource management)라는 중요한 역할도 한다.

  • 응용 프로그램은 컴퓨터 자원을 직접 사용할 수 없고, 운영체제를 통해서만 사용할 수 있다.
  • 자원 관리는 응용 프로그램에 컴퓨터 자원을 할당하고 회수하는 일이다.

 

응용 프로그램이 컴퓨터 자원을 직접 사용할 수 없는 이유는, 컴퓨터 자원은 여러 응용 프로그램이 공동으로 사용하는 자원이기 때문에, 이를 효율적으로 관리하고 컴퓨터 자원을 보호하기 위함이다.

 

 

운영체제의 역할은 다음과 같다.

자원 관리 (효율성)
여러 응용 프로그램에 적당한 순서로 자원을 배분하고, 적절한 시점에 회수하여 관리한다.
자원 보호 (안정성)
응용 프로그램이 다른 프로그램의 영역을 침범하여 데이터를 훼손하는 것을 방지한다.
시스템에 문제가 발생했을 때 이전 상태로 복구하는 결함 포용(Fault tolerant) 기능도 제공해야 한다.
하드웨어 인터페이스 제공 (확장성)
CPU, 메모리, 키보드, 마우스 등과 같은 하드웨어를 사용자가 활용할 수 있도록 일관된 방식을 제공해야 한다.
이를 위해 드라이버를 설치해야 하며, 꽂으면 바로 사용할 수 있는 기능을 Plug & Play라고 한다.
사용자 인터페이스 제공 (편리성)
하드웨어 인터페이스가 다양한 부품을 활용하기 위한 것이라면, 사용자 인터페이스는 운영체제를 활용하기 위한 방식이다.
명령어 기반의 CLI(Command Line Interface), 그래픽 기반의 GUI(Graphical User Interface) 등이 있다.

 

 

하나의 CPU로 여러 작업을 동시에 실행하는 다중 프로그래밍(Multiprogramming) 기술은 시분할 시스템(Time sharing system)을 이용해 가능해졌다.

 

시분할 시스템이란,
각 작업에 1초씩 할당하면 다른 작업이 끊겨 보이겠지만, 사용 시간을 아주 잘게 쪼개어 분배하면 동시에 실행되는 것처럼 보일 것이다.
그렇기에 다중 작업(Multitasking) 시스템이라고도 하며, 잘게 나뉜 한 조각을 타임 슬라이스(Time slice) 또는 타임 퀀텀(Time quantum)이라고 한다.

단점은 여러 작업에 자원을 할당하고 회수하기 위한 컨텍스트 스위칭(Context switching)이 별도로 필요하고, 많은 작업이 실행 중일 경우 중요한 작업이 일정 시간 내에 끝나는 것을 보장하지 못한다는 것이다.
그래서 미사일 제어 시스템 등 시간이 매우 중요한(Time-critical) 프로그램에서는 시분할 시스템 대신, 일정 시간 안에 처리를 보장하는 실시간 시스템(Real-time system)을 사용한다.

 

profile

Make Unreal REAL.

@diesuki4

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그