운영체제 리뷰 1 - 운영체제란

LeemHyungJun·2024년 5월 30일
0

Operating System

목록 보기
15/20

참고 자료 : 혼자 공부하는 컴퓨터구조 + 운영체제
사진 출처 : Operating System Concepts 10E

1. 운영체제를 알아야 하는 이유

<운영체제란>

1. 운영체제는

  • 실행할 프로그램에 필요한 자원을 할당하고
  • 프로그램이 올바르게 실행되도록 돕는
  • 특별한 프로그램
    • 프로그램이기 때문에 메모리에 저장되어야 한다
    • 운영체제는 커널 영역에 적재된다.
    • cf) 응용 프로그램(application)은 사용자 영역에 적재
  • 하드웨어응용 프로그램 사이에서 우리가 편리하게 사용할 수 있도록 도와준다.

2. 운영체제의 메모리 관리

  • 운영체제는 응용 프로그램이 실행되거나 종료될 때 적절한 메모리에 할당하거나 해제시킨다.

3. 운영체제의 CPU 관리

  • 응용 프로그램이 동시에 실행되고 있더라도, 각 프로그램의 우선순위에 따라 CPU 사용량을 조절해준다.

4. 운영체제의 입출력장치 관리

  • 프린터, 키보드 등 우선순위 관리
  • +)보조 기억 장치에 있는 것을 파일과 폴더로 관리

5. 운영체제는 '정부' 와 유사한 일을 한다.

<운영체제를 알아야 하는 이유>

1. 개발자가 하드웨어를 직접 조작하는 일 없이 편리하게 개발할 수 있게 해준다.

  • 운영체제는 사용자를 위한 프로그램이 아니라 프로그램을 위한 프로그램이다.
  • 문제가 생긴다면 운영체제가 도움을 준다.
    • 프로그램이기 때문에 오류 메세지를 준다.

2. 운영체제의 큰 그림

<커널이란?>

1. 커널

  • 운영체제의 핵심 서비스를 담당하는 부분

2. UI

  • OS에는 속하지만 커널에는 속하지 않는 기능
  • 사용자와 컴퓨터 간의 통로일 뿐
  • ex) 그래픽 유저 인터페이스, 커맨드라인 인터페이스

<운영체제의 서비스 종류>

1. 프로세스 관리

  • 프로세스
    • 프로세스 == 실행중인 프로그램
    • 동시다발적으로 생성/실행/삭제되는 프로세스들을 관리해야 함!

2. 자원 접근 및 할당

  • CPU
    • CPU 스케줄링: 어떤 프로세스를 먼저, 얼마나 오래 실행할지
  • 메모리
    • 적재할 빈 메모리 공간을 어떻게 찾을지, 다 적재해야 하는지..
    • 페이징, 스와핑
  • 입출력장치
    • 하드웨어 인터럽트 서비스 루틴

3. 파일 시스템 관리

  • 관련된 정보를 파일이라는 단위로 저장 장치에 보관
  • 파일을 묶어 폴더(디렉토리) 단위로 저장 장치에 보관

<시스템 콜과 이중 모드>

1. 사용자가 실행하는 프로그램은 자원에 직접 접근할 수 있을까?

  • NO! 자원에 직접 접근은 위험하다.
  • 그렇기 때문에 OS는 응용 프로그램이 자원에 접근하여 할 때 OS를 통해서만 접근하도록 보호해준다.

2. 이중모드

  • CPU가 명령어를 실행하는 모드의 두 가지 (이중모드)
    • 사용자 모드
      • OS 서비스 제공 x
      • 커널 영역 코드 실행 x
      • 자원 접근 x
    • 커널 모드
      • OS 서비스 제공 o
      • 자원 접근 o
  • 플래그 레지스터
    • 슈퍼바이저 플래그를 통해 커널 모드인지 사용자 모드인지 확인한다.

3. 시스템 호출

  • 커널 모드로 전환하여 실행하기 위해 호출!
    • 운영체제한테 도움 청하기!
  • 일종의 소프트웨어 인터럽트
    1) 시스템 호출
    2) 운영체제 코드 실행 (하드웨어 접근 코드 실행)
    3) 시스템 호출 복귀 (사용자 모드로 간다)
  • 시스템 호출 명령어들

0개의 댓글