Kim Jinung

2. 운영체제 구조 본문

Computer Science/Operating System

2. 운영체제 구조

Kim Jinung 2022. 12. 29. 22:23
운영체제는 프로그램이 실행되는 환경을 제공한다. 그리고 이를 위해 인터페이스를 제공한다. 

 

그렇다면 인터페이스는 무엇을 위해 존재할까?

 

운영체제는 프로그램에 하드웨어 리소스를 할당하는 역할을 담당할 뿐만 아니라 파일 조작, 오류 탐지, 입출력 연산 등의 서비스도 제공한다. 대부분의 프로그램에서 공통적으로 필요한 기능을 운영체제가 제공하는 것이다. 그리고 이러한 서비스를 제공하기 위해서 인터페이스를 제공한다. 기계를 조작하는 리모콘, 운영체제의 그래픽 인터페이스와 커맨드라인 인터페이스 등을 떠올릴 수 있다. 유저는 명령어만 알고있다면 하드웨어를 다루어야 하는 저수준 작업의 내부 코드 및 동작원리를 몰라도 기능을 사용할 수 있다. 이것이 시스템 콜이다.  즉 리모콘이 내부에서 어떠한 일을 하는지는 몰라도 유저가 채널 이동 버튼을 누르면 채널을 이동을 하고 볼륨 업 버튼을 누르면 볼륨이 커진다. 예시로 프로그래밍 언어에서 제공하는 open 함수가 이 시스템 콜에 해당한다. 유저가 주어진 메뉴얼대로 open 함수를 사용하면 스토리지에 어떻게 접근하고 처리하는지를 신경 쓸 필요가 없다. 애플리케이션에서 open 함수를 사용하면 시스템 콜을 통해 운영체제에 파일 조작을 요청한다.

 

위 과정에서 한 가지 더 이점이 있는데, 유저가 운영체제의 핵심인 커널에 직접 접근하는 것이 아니라 인터페이스인 쉘을 통해서 명령을 내리기 때문에 유저가 커널에 개입하는 것을 방지한다.

 

 

  • 운영체제는 효율적이고 안정적으로 애플리케이션에 하드웨어 리소스를 제공한다.
  • 운영체제는 인터페이스를 제공하는 방식으로 커널을 보호하고 유저에게 편의성을 제공한다.

 

'Computer Science > Operating System' 카테고리의 다른 글

6. 프로세스 동기화 그리고 데드락  (0) 2023.01.06
5. CPU 스케줄링  (0) 2023.01.05
4. 스레드와 병행성  (0) 2023.01.04
3. 프로세스  (0) 2022.12.30
1. 운영체제 서론  (0) 2022.12.29