성장에 목마른 코린이

운영체제, 응용 프로그램 본문

CodeStates/Section 3 (백엔드)

운영체제, 응용 프로그램

성장하는 코린이 2022. 4. 22. 11:58
728x90

운영체제

컴퓨터나 스마트폰의 기기 그 자체(하드웨어)는 스스로 할 수 있는 일이 없습니다.

하드웨어의 설계를 바탕으로 하드웨어에게 일을 시켜야만 그 의미가 있습니다.

하드웨어에게 일을 시키는 주체가 운영체제입니다.

운영체제의 구조 모식도

운영체제가 없다면, 응용 프로그램이 실행될 수 없습니다.

응용 프로그램은 컴퓨터를 이용해 다양한 작업을 하는 것이 목적이고,

운영체제는 응용 프로그램이 하드웨어에게 일을 시킬 수 있도록 도와줍니다.

하드웨어를 구성하는 일을 하는 CPU, 자료를 저장하는 RAM, 디스크 등의

시스템 자원을 관리하는 주체가 바로 운영체제입니다.

응용 프로그램

운영체제를 통해 컴퓨터에게 일을 시키는 것

응용 프로그램이 운영체제를 통해 컴퓨터에게 일을 시키려면,

컴퓨터를 조작할 수 있는 권한을 운영체제로부터 부여받아야 합니다.

권한을 부여받고 난 후에는, 운영체제가 제공하는 기능을 이용할 수 있습니다.

응용 프로그램이 운영체제와 소통하기 위해서는, 운영체제가 응용 프로그램을 위해 인터페이스(API)를 제공해야 합니다.

이와 마찬가지로, 응용 프로그램 역시 운영체제가 프린터 사용을 허가해 주지 않는다면 사용할 수 없습니다.

 

워드프로세서 프로그램이 프린터를 사용해서 인쇄하기 위해서는,

워드프로세서 프로그램은 운영체제로부터 프린터 사용에 대한 권한을 부여받아야 합니다.

응용 프로그램이 프린터 사용에 대한 권한을 획득한 후에는,

프린터를 사용할 때 필요한 API를 호출해야 합니다. 이 API는 시스템 콜로 이루어져 있습니다.

응용 프로그램 관리

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

모든 응용 프로그램이 시스템의 자원을 마음대로 사용한다면, 해커에 의한 공격에 무방비한 상태가 됩니다.

악의적인 목적을 가진 프로그램이 디스크의 모든 민감한 정보에 접근하거나,

내 스마트폰의 특정 앱이 카메라를 아무 때나 실행해서 촬영한다고 생각하면 끔찍합니다.

따라서, 응용 프로그램은 권한에 대한 관리가 필요합니다.

또한 여러 사람이 하나의 기기를 사용하는 경우에는 사용자를 관리하는 일도 매우 중요합니다.

Comments