[운영체제] 01. 운영체제의 관계와 프로세스 처리 시스템

운영체제의 구조와 프로세스 처리 시스템에 대해 간단히 알아본다.

운영체제와 다른 리스소와의 관계

운영체제와 하드웨어의 관계

  • 운영체제는 응용 프로그램이 요청하는 메모리를 허가하고, 분배한다.
  • 운영체제는 응용 프로그램이 요청하는 CPU 시간을 제공한다.
  • 운영체제는 응용 프로그램이 요청하는 IO Devices 사용을 허가/제어한다.

운영체제와 사용자의 관계

  • 쉘 (Shell)

    사용자가 운영체제 기능과 서비스를 조작할 수 있도록 운영체제가 제공하는 인터페이스. (CLI, GUI)

운영체제와 응용 프로그램의 관계

  • 시스템 콜

    응용프로그램이 운영체제 기능을 요청할 수 있도록 운영체제가 제공하는 명령 또는 함수.(API 내부에서 보통 시트템콜을 호출하는)

  • 라이브러리, API(보통 내부에서 시트템콜을 호출하는 형태로 만들어짐)

CPU Protection Rings

사용자 모드 (Ring 3)

  • 주로 응용 프로그램이 사용
  • 사용 가능한 기능이 제한적임
  • API(시스템 콜 명령어)를 통해 커널 모드로 전환할 수 있음.

커널 모드 (Ring 0)

  • 주로 OS가 사용
  • 커널모드에서만 실행가능한 기능(자원 접근..)들이 있음
  • 사용자 모드에서 커널모드로 실행하려면 반드시 시스템 콜을 사용해야 함

프로그램에서 사용자 모드와 커널 모드 예시

  1. 응용 프로그램 실행(사용자 모드)
  2. 운영체제 기능(파일을 읽기..)위해 API에서 시스템 콜을 호출함.
  3. 커널모드로 변경되어 기능 수행
  4. 다시 사용자 모드 실행

프로세스 처리 시스템 종류

  • 배치 처리 시스템

프로그램의 실행 요청 순서에 따라 순차적으로 프로그램을 실행하는 방식이다.
동시에 여러 응용프로그램을 실행 할 수 없고, 다중 사용자를 지원할 수 없다.

  • 시분할 시스템

다중 사용자 지원을 위해 CPU를 사용하는 시간을 잘게 쪼개서 응답 시간 최소화 함.

  • 멀티 태스킹

단일 CPU에서 여러 응용프로그램이 동시에 실행되는 것처럼 프로세스를 번갈아 가면서 실행하는 시스템

  • 멀티 프로세싱

여러 CPU에 하나의 프로그램을 병렬로 실행하여 실행속도를 극대화 하는 시스템

  • 멀티 프로그래밍

CPU의 시간당 활용률을 최대화 시켜, 프로그램에서 잠시 사용되지 않고 있을때는(저장메체 읽기) 다른 프로그램을 실행시키며 CPU가 쉬지않고 여러 프로그램을 동시에 실행되는 것처럼 보이게 함. 따라서 응답시간을 줄이고 다중 사용자도 지원함.

사실상 시분할 시스템, 멀티 프로그래밍, 멀티 태스킹은 비슷한 의미로 사용됨.


© 2020. All rights reserved.