Skip to content

Latest commit

 

History

History
151 lines (84 loc) · 5.91 KB

09장_운영체제 시작하기_김민지.md

File metadata and controls

151 lines (84 loc) · 5.91 KB

260-281p

운영체제란?

실행할 프로그램에 필요한 자원을 할당하고, 올바르게 실행되도록 돕는 특별 프로그램

  • 자원??
    • 모든 프로그램은 하드웨어를 필요로 합니다.
    • CPU, 메모리. 보조기억장치, 입출력장치 등과 같은 컴퓨터 부품들은 모두 자원

프로그램이지만 메모리에 적재되지 X

컴퓨터 부팅시, 메모리 내에 커널 영역에 적재되어 실행 (커널 제외 영역을 사용자 영역이라함)

image


image


image

image

운영체제는 응용 프로그램과 하드웨어 사이에서,

응용 프로그램에 필요한 자원을 할당하고,

응용 프로그램이 올바르게 실행되도록 관리하는 역할


image

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

  • 운체 덕분에 개발자는 하드웨어를 조작하는 코드를 직접 작성할 필요가 없음

  • 하드웨어, 프로그램을 더 깊이 이해하고, 문제 해결의 실마리를 얻을 수 있음

  • 운체와 어떤 대화를 할 수 있죠?

    보통은 에러메세지로 대화하게 됩니다. 프로그래밍 문법만 알게 되면, 에러메세지 모를 겁니다..

    • 메모리 누수 현상
    • 잘못된 주소 참조

운영체제의 심장 커널

운영체제는 현존하는 프로그램 중, 규모가 가장 큰 프로그램

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

image


인터페이스

  • 사용자 인터페이스

    → 바탕화면과 같이 유저가 컴퓨터와 상호작용하는 통로 (커널이 제공 x)

  • 그래픽 유저 인터페이스

    image

    그래픽을 기반으로 컴퓨터와 상호작용

  • 커맨드 라인 인터페이스

    image

    명령어를 기반으로 컴퓨터와 상호작용


이중 모드와 시스템 호출

image


image


image

운영체제의 문지기 역할은 이중 모드로써 구현.

❓ 이중 모드란? CPU가 명령어를 실행하는 모드를 크게 사용자 모드와 커널 모드로 구분하는 방식

CPU는 명령어를 사용자 모드로써 실행할 수 있고, 커널 모드로써 실행할 수 있습니다.

❓ 사용자 모드란? 운영체제 서비스를 제공받을 수 없는 실행 모드

사용자 모드로 실행 중인 CPU는 입출력 명령어와 같이 하드웨어 자원에 접근하는 명령어를 실행할 수 없습니다. 사용자 모드로 실행되는 일반적인 응용 프로그램은 자원에 접근할 수 없습니다.

❓ 커널 모드란? 운영체제 서비스를 제공받을 수 있는 실행 모드

CPU가 커널 모드로 명령어를 실행하면 자원에 접근하는 명령어를 비롯한 모든 명령어를 실행할 수 있습니다. 운영체제는 커널 모드로 실행되기 때문에 자원에 접근할 수 있습니다.

image


그럼 응용프로그램들은 어떻게 요청하나요??

image

시스템 호출은 인터럽트 / 특정 명령어에 의해 발생하는 건, 소프트웨어 인터럽트라고 함


image

image

운영체제의 핵심 서비스

  1. 프로세스 관리

    프로세스 : 실행 중인 프로그램

    image

    상태, 사용하고자 하는 자원도 다 다양

  2. 자원 접근 및 할당

  • cpu : cpu 스케쥴링
  • 메모리 : 메모리에 적재된 프로세스들은 크기도, 적재되는 주소도 가지각색
  • 입출력 장치 : 인터럽트 서비스 루틴을 제공함으로써 입출력 작업을 수행
  1. 파일 시스템 관리 컴퓨터를 사용할 때는 여러 파일을 열고, 생성하고, 삭제하곤 합니다. 그리고 이 파일들을 한데 묶어 디렉터리 (폴더)로 관리합니다. 자칫 당연해 보이는 이런 파일 시스템도 운영체제가 지원하는 핵심 서비스입니다.