1. 운영체제
컴퓨터나 스마트폰의 기기 그 자체(하드웨어)는 스스로 할 수 있는 일이 없다. 하드웨어의 설계를 바탕으로 하드웨어에게 일을 시켜야만 그 의미가 있다. 이런 하드웨어에게 일을 시키는 주체가 운영체제이다.
2. 운영체제의 기능
- 시스템 자원 관리
운영체제가 있어야 응용 프로그램이 실행될 수 있음, 응용 프로그램은 컴퓨터를 이용해 다양한 작업을 하는 것이 목적이고, 운영체제는 응용 프로그램이 하드웨어에게 일을 시킬 수 있도록 도와줌,
CPU,RAM,디스크 등의 시스템 자원을 관리하는 주체
- 프로세스 관리(CPU)
- 메모리 관리
- 입출력 관리(디스크, 네트워크 등)
- 응용 프로그램 관리
응용 프로그램이 실행되고, 시스템 자원을 사용할 수 있도록 권한과 사용자를 관리
(응용 프로그램이 시스템 자원을 마음대로 사용한다면, 악의적인 목적을 가진 프로그램에 의한 해킹공격에 무방비한 상태가 됨)
ex) 악의적인 목적을 가진 프로그램이 디스크의 모든 민감한 정보에 접근
- 응용프로그램
응용프로그램은 운영체제를 통해 컴퓨터에게 일을 시킨다
응용프로그램은 컴퓨터를 조작할 수 있는 권한을 운영체제로부터 부여받고 권한을 부여받고 난 후에는, 운영체제가 제공하는 기능을 이용할 수 있다.
응용 프로그램이 운영체제와 소통하기 위해서는, 운영체제가 응용 프로그램을 위해 인터페이스(API)를 제공해야 함, 응용 프로그램이 시스템 자원을 사용할 수있도록, 운영체제 차원에서 다양한 함수를 제공하는 것을 시스템 콜(System call)이라 부름