[CS] 운영체제

Jae ·2021년 11월 26일
0

Computer Science

목록 보기
2/5

1. 운영체제


시스템 자원 관리


운영체제가 없다면, 응용 프로그램이 실행될 수 없다. 응용 프로그램은 컴퓨터를 이용해 다양한 작업을 하는 것이 목적이고, 운영체제는 응용 프로그램이 하드웨어에게 일을 시킬 수 있도록 도와준다. 하드웨어를 구성하는 일을 하는 CPU, 자료를 저장하는 RAM, 디스크 등의 시스템 자원을 관리하는 주체가 바로 운영체제이다.

  • 프로세스 관리(CPU)
  • 메모리 관리
  • I/O(입출력) 관리 (디스크, 네트워크 등)

응용 프로그램 관리

모든 응용 프로그램이 시스템의 자원을 마음대로 사용한다면, 해커에 의한 공격에 무방비한 상태가 된다. 악의적인 목적을 가진 프로그램이 디스크의 모든 민감한 정보에 접근하거나, 내 스마트폰의 특정 앱이 카메라를 아무 때나 실행해서 촬영한다고 생각하면 끔찍하다. 이 때문에, 응용 프로그램은 권한에 대한 관리가 필요하고, 또한 여러 사람이 하나의 기기를 사용하는 경우에는 사용자를 관리하는 일도 매우 중요하다.

  • 응용 프로그램이 실행되고, 시스템 자원을 사용할 수 있도록 권한사용자를 관리한다.

2. 응용 프로그램: 운영체제를 통해 컴퓨터에게 일을 시키는 것


  • 컴퓨터를 조작할 수 있는 권한을 운영체제로부터 부여받아야 한다.
  • 응용 프로그램은 운영체제가 사용을 허가해 주지 않는다면 사용할 수 없다.

응용 프로그램이 운영체제를 통해 컴퓨터에게 일을 시키려면, 컴퓨터를 조작할 수 있는 권한을 운영체제로부터 부여받아야 한다. 권한을 부여받고 난 후에는, 운영체제가 제공하는 기능을 이용할 수 있는데, 응용 프로그램이 운영체제와 소통하기 위해서는 운영체제가 응용 프로그램을 위해 인터페이스(API)를 제공해야 한다.

이렇게 응용 프로그램이 시스템 자원을 사용할 수 있도록, 운영체제 차원에서 다양한 함수를 제공하는 것을 시스템 콜(System call)이라고 부른다.

스마트폰으로 어떤 어플리케이션을 설치하면 사용자에게 디바이스(카메라, 오디오, 마이크 등)의 사용을 허락받는 화면을 본 적이 있을텐데 이와 마찬가지로, 응용 프로그램 역시 운영체제가 사용을 허가해 주지 않는다면 사용할 수 없다. 예를 들어 워드프로세서 프로그램이 프린터를 사용해서 인쇄하기 위해서는, 워드프로세서 프로그램은 운영체제로부터 프린터 사용에 대한 권한을 부여받아야 하는 것이다.

응용 프로그램이 프린터 사용에 대한 권한을 획득한 후에는, 프린터를 사용할 때 필요한 API를 호출해야 하는데, 이 API는 시스템 콜로 이루어져 있다.

0개의 댓글