[OS] 1. 운영체제와 커널

홍민주·2022년 3월 28일
0

OS 개념 정리

목록 보기
1/1
post-custom-banner

운영체제(OS)

1. 운영체제의 정의

운영체제란 사용자에게 편리한 인터페이스 환경을 제공하고 컴퓨터 시스템의 자원을 효율적으로 관리하는 여러 프로그램의 모임이다. 우리가 일반적으로 컴퓨터를 사용하면서 실행한 모든 프로그램들은 운영체제에서 관리하고 제어한다. 대표적인 운영체제로는 Windows, Linux, Mac OSX등이 있다.

2. 운영체제의 역할

  • 사용자를 위한 역할
    : GUI를 통해 사용자가 운영체제를 편리하게 사용하도록 지원한다.
  • 하드웨어를 위한 역할
    : 프로세스 관리 - 여러개의 프로세스가 있을 경우 CPU는 한 프로세스만 처리할 수 있음에도 불구하고 적절한 방식으로 프로세스를 관리하여 여러 프로세스를 동시에 처리하고 있다고 느끼게 한다.
    메모리 관리 - 프로그램은 메모리에 올라온 뒤 실행하는데 여러 프로그램을 동시에 메모리에 올릴 경우 메모리 관리를 통해 프로그램끼리 메모리 침범이 일어나지 않게 한다.
    하드웨어 관리 - 운영체제가 사용자의 직접적인 하드웨어 접근을 막아 하드웨어를 보호한다.

3. 운영체제의 구조

운영체제의 구조

운영체제의 구조는 대략적으로 인터페이스와 커널로 나눌 수 있다.

3-1. 인터페이스

인터페이스란 응용프로그램과 커널사이에 존재하여 커널에 명령을 전달하고 실행결과를 사용자와 응용 프로그램에 전달한다. 대표적인 인터페이스에는 GUI, CLI가 있다.

3-2. 커널

커널은 운영체제의 핵심기능을 모아놓은 것이며 프로세스, 메모리, 파일 시스템, 입출력을 관리한다.

  • 프로세스 관리 : 프로세스에 CPU를 분배, 작업 환경 제공
  • 메모리 관리 : 프로세스에 작업 공간을 배치하고 실제 메모리보다 큰 가상환경 제공
  • 파일 시스템 관리 : 데이터를 저장하고 관리할 수 있는 인터페이스 제공
  • 입출력 관리 : 필요한 입력과 출력 서비스 제공
  • 시스템 호출(System call)
    시스템 호출은 사용자로부터 컴퓨터 자원의 보호를 위해 자원에 직접적인 접근을 차단한다. 즉 응용 프로그램이 하드웨어에 접근하거나 운영체제가 제공하는 서비스를 이용하기 위해서는 시스템 콜이라는 인터페이스를 이용하여 접근해야 한다. 대표적인 예로는 write(), read(), printf() 가 있다.

  • 드라이버
    커널과 하드웨어의 인터페이스이다. 커널은 입출력의 기본적인 부분만 제작하고, 하드웨어의 특성을 반영한 소프트웨어를 하드웨어 제작자에게 받아 커널이 실행될 때 함께 실행되도록 한다. 이때 하드웨어 제작자가 만든 소프트웨어를 디바이스 드라이버라고 부른다.

참고

'쉽게 배우는 운영체제' 책
https://math-coding.tistory.com/80
https://velog.io/@codemcd/%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9COS-1.-%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C%EB%9E%80
https://rok93.tistory.com/entry/운영체제와-컴퓨터

profile
백엔드 주니어 개발자 입니다~
post-custom-banner

0개의 댓글