제목 날짜 내용 발행일 23.03.27
해당 포스트는
운영체제
에 대해 학습한 내용을 정리하며 기록한 것입니다.
폰 노이만이 제시한 컴퓨터 모델에 따르면 컴퓨터 시스템은 크게 CPU, 메모리, 디스크로 구성되어 있다고 볼 수 있다.
이 각각의 하드웨어를 연결했다고 해서 우리가 원하는 프로그램을 수행할 수 있는 것은 아니다.
하드웨어는 단지 그 하드웨어의 특정 기능을 수행 할 뿐인데, 이 컴퓨터라는 하드웨어 상에 프로그램들이 동작되려면 이 하드웨어들과 적절하게 데이터틀 주고 받으며 논리적인 일들을 해야한다.
그 하드웨어에게 일을 시키는 주체가 바로 운영체제
운영체제의 목적은 처리능력 향상, 사용 가능도 향상, 신뢰도 향상, 반환 시간 단축 등에 있으며, 이런 운영체제의 기능은 여러 가지가 있다.
프로세서, 기억장치, 입출력장치, 파일 및 정보 등의 자원을 관리
자원을 효율적으로 관리하기 위해 자원의 스케줄링 기능을 제공
사용자와 시스템 간의 편리한 인터페이스를 제공
운영체제가 없다면, 응용 프로그램이 실행될 수 없다.
응용 프로그램은 컴퓨터를 이용해 다양한 작업을 하는 것이 목적
운영체제는 응용 프로그램이 하드웨어에게 일을 시킬 수 있도록 도와줌
하드웨어를 구성하는 일을 하는 CPU, 자료를 저장하는 RAM, 디스크 등의 시스템 자원을 관리하는 주체가 바로 운영체제다.
프로세스 관리(CPU)
메모리 관리
I/O(입출력) 관리 (디스크, 네트워크 등)
모든 응용 프로그램이 시스템의 자원을 마음대로 사용한다면, 해커에 의한 공격에 무방비한 상태가 된다.
악의적인 목적을 가진 프로그램이 디스크의 민감한 정보에 접근하거나, 내 스마트폰의 특정 앱이 카메라를 아무 때나 실행해서 촬영한다고 생각하면 매우 끔찍!!
따라서, 응용 프로그램은 권한에 대한 관리가 필요하다.
여러 사람이 하나의 기기를 사용하는 경우에는 사용자를 관리하는 일도 매우 중요하다
응용 프로그램이 운영체제를 통해 컴퓨터에게 일을 시키려면, 컴퓨터를 조작할 수 있는 권한을 운영체제로부터 부여받아야 한다.
권한을 부여받고 난 후에는, 운영체제가 제공하는 기능을 이용할 수 있다.
응용 프로그램이 운영체제와 소통하기 위해서는, 운영체제가 응용 프로그램을 위해 인터페이스(API)를 제공해야 한다.
시스템 콜(System call)
:
스마트폰에서 사용자에게 어떤 디바이스(카메라 등)의 사용을 허락받는 화면을 본 적이 있을텐데, 이와 마찬가지로, 응용 프로그램 역시 운영체제가 프린터 사용을 허가해 주지 않는다면 사용할 수 없다.
워드프로세서 프로그램이 프린터를 사용해서 인쇄하기 위해서는, 워드프로세서 프로그램은 운영체제로부터 프린터 사용에 대한 권한을 부여받아야 한다.
응용 프로그램이 프린터 사용에 대한 권한을 획득한 후에는, 프린터를 사용할 때 필요한 API를 호출해야 한다. 이 API는 시스템 콜
로 이루어져 있다.