본문 바로가기

Computer Science

운영체제 개요 및 응용프로그램

운영체제

컴퓨터나 스마트폰의 기기 그 자체(하드웨어)는 스스로 할 수 있는 일이 없다. 하드웨어에게 일을 시켜야만 의미가 있다.

하드웨어에게 일을 시키는 주체가 바로 '운영체제'이다.

 

의미

- 컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층.

- 우리가 일반적으로 컴퓨터를 사용하면서 실행한 모든 프로그램들은 운영체제에서 관리하고 제어한다.

ex: Windows, Mac OS, IOS, Linux etc.

 

컴퓨터 시스템의 자원(소프트웨어, 하드웨어)효율적으로 관리하는 것이 중요한 역할. 

프로세서CPU, 입출력장치, 기억장치 등 리소스를 효율적으로 관리.

주어진 자원으로 최대한의 성능을 내도록 하는 것.

사용자간의 형평성 있는 자원 분배.

파일, 메시지 등도 관리(소프트웨어)

사용자 및 운영체제 자신의 보호

 

 

운영체제가 하는 일

 1) 시스템 자원(System Resource, 컴퓨터 하드웨어) 관리 

운영체제가 없다면, 응용프로그램(애플리케이션)이 실행될 수 없다. 응용 프로그램이 컴퓨터를 이용해 다양한 작업을 하는것이 목적이고, 운영체제는 응용 프로그램이 하드웨어에게 일을 시킬 수 있도록 도와준다.

하드웨어를 구성하는 '일을 하는 CPU', '자료를 저장하는 RAM', '디스크' 등의 시스템 자원(컴퓨터 하드웨어)을 관리하는 주체가 운영체제.

- 프로세서 관리(CPU)

- 메모리 관리

- I/O(입출력) 관리 (디스크, 네트워크 등)

 

 

 

2) 응용 프로그램 관리

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

악의적인 목적을 가진 프로그램이 디스크의 모든 민감한 정보에 접근하거나 내 스마트폰의 특정 앱이 카메라를 아무때나 실행해서 촬영한다면 끔찍하다. 

응용프로그램은 권한에 대한 관리가 필요하다. 또한 여러 사람이 하나의 기기를 사용하는 경우, 사용자를 관리하는 일도 매우 중요하다.

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

 

 

응용프로그램

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

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

 

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

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

 

운영체제 --("system call"이라는 API 제공)--> 응용프로그램

응용프로그램 --> 운영체제에게 명령(이때 system call이라는 API이용) --> 하드웨어 

 

응용프로그램이 운영체제에게 명령할 때 system call이라는 API를 사용한다. 

 

 

 

 

 

**모든 그림 및 글의 출처는 '코드스테이츠'입니다.