정리하면, 운영체제는 컴퓨터 하드웨어를 관리합니다. 컴퓨터 하드웨어는 응용체제가 없다면 스스로 할 수 있는 것이 없습니다.
CPU : 각 프로그램이 얼마나 CPU를 사용할지 결정할 수는 없습니다.
Memory : 각 프로그램이 어느 주소에 저장되어야 하는지, 어느 정도의 메모리 공간을 확보해줘야 하는지 결정할 수 없습니다.
저장 매체 : 어떻게, 어디에 저장할지 결정할 수 없습니다.
키보드 / 마우스: 스스로 표시할 수는 없습니다.
컴퓨터 하드웨어를 관리하기 위해서, 운영체제는 반드시 필요합니다.
운영체제, OS는 사용자와 컴퓨터 사이의 커뮤니케이션을 중재합니다. 사용자가 입출력장치를 통해 명령을 내리면 운영체제가 컴퓨터 하드웨어를 관리합니다.
운영체제가 없다면 컴퓨터에 명령을 내릴 수 없습니다.
운영체제는 컴퓨터 하드웨어 뿐만 아니라 응용 프로그램도 제어합니다.
응용 프로그램은 그림에서 볼 수 있듯이, 한글, 엑셀, 카카오톡 같은 프로그램을 의미합니다. 운영체제는 이러한 프로그램 또한 제어합니다. 그렇다면 응용 프로그램은 정확하게 뭘까요?
프로그램은 모두 소프트웨어입니다. 그렇다면 소프트웨어란 무엇일까요?
소프트웨어는 두 가지로 나눌 수 있습니다.
응용 프로그램 : (=)Application 줄여서 App
일반적으로 모바일에서는 app, 일반 컴퓨터에서는 어플리케이션이라고 부릅니다.
앞서 말했듯이, 운영체제는 응용 프로그램을 관리합니다. 어떤 식으로 관리하는지 풀어 설명하면 다음과 같습니다.
예를 들어서 자세히 알아보겠습니다.
응용 프로그램은 누구나 만들 수 있습니다. 누군가 프로그램에 무한 반복문을 넣었거나, 잘못 작성해서 프로그램이 다운되거나, 모든 파일을 삭제하는 코드가 있을 수 있습니다.
이를 방지하기 위해서 운영체제는 응용 프로그램을 관리합니다.
운영체제, 응용 프로그램, 컴퓨터 하드웨어 간의 관계를 도서관에 빗대어 설명하겠습니다.
운영체제의 역할
이를 정리하면 다음과 같습니다.
1. 사용자 인터페이스 제공
2. 응용 프로그램을 위한 인터페이스 제공
API (Application Programming Interface)
- 함수로 제공
- C언어에서 open() 같은 것들
보통은 라이브러리 형태로 제공
- C library
시스템 콜
- 시스템 콜 또는 시스템 호출 인터페이스라고 함
- 운영체제가 운영체제 각 기능을 사용할 수 있도록 시스템 콜이라는 명령 또는 함수를 제공
- API 내부에는 시스템 콜을 호출하는 형태로 만들어지는 경우가 대부분
API : 각 언어별 운영체제 기능 호출 인터페이스 함수 (각 언어별 인터페이스)
시스템 콜 : 운영체제 기능을 호출하는 함수
운영체제란?
: 운영체제는 응용 프로그램이 요청하는 시스템 리소스를 효율적으로 분배하고, 지원하는 소프트웨어이다.
운영체제의 하는일
운영체제의 목표
: 사용자가 사용하는 응용 프로그램이 효율적으로, 적절하게 동작하도록 지원한다.
응용 프로그램이란?
: 응용 프로그램은 소프트웨어이고, 소프트웨어는 운영체제와 응용 프로그램 두 가지로 나눌 수 있다.
해당 글은 패스트 캠퍼스 컴퓨터 공학 전공자 따라잡기 강의를 듣고 정리했습니다.