[운영체제] Intro

Local Gaji·2023년 6월 17일
0

운영체제

목록 보기
1/15

🎈 운영체제란

  • 실행할 프로그램에 필요한 자원(장치)을 할당하고
    프로그램이 올바르게 실행되도록 돕는 프로그램이다.

  • 컴퓨터를 부팅하면 메모리 내 커널영역 이라는 공간에 운영체제가 적재된다.
    운영체제는 나머지 영역(사용자 영역)에 프로그램들을 적재하고 삭제한다.

  • 또 CPU와 입출력장치 같은 자원들을 프로그램에 적절히 할당한다.

  • 프로그램이 실행될때 하드웨어의 상태, 실행 상태, 문제 등을 알려주어 문제해결을 도와준다.


🎈 운영체제의 큰 그림

🔰 커널

자원에 접근/조작하는 역할, 프로그램 실행을 관리하는 역할
운영체제의 핵심 서비스이다.

🔰 이중 모드

응용프로그램이 하드웨어 자원에 접근하기 위해서는 운영체제에 도움을 요청해야 한다.
이 역할은 이중모드로써 구현된다.
CPU는 명령을 실행할 때 사용자모드 또는 커널모드로 실행할 수 있다.

  • 사용자 모드

    • 운영체제 서비스를 제공받을 수 없음.
    • 하드웨어 자원에 접근하는 명령어를 실행할 수 없다.
    • 일반적인 응용프로그램은 사용자모드로 실행된다.
  • 커널모드

    • 운영체제 서비스를 제공받을 수 있다.
    • 자원에 접근하는 명령어를 실행할 수 있다.
    • 운영체제는 커널모드로 실행되므로 자원에 접근이 가능하다.

🔰 시스템 호출

일반 프로그램이 운영체제에 보내는 요청, 소프트웨어 인터럽트에 해당한다.

응용프로그램에서 데이터를 저장할 때
  1. 데이터를 저장하는 시스템 호출을 발생시켜 커널 모드로 전환
  2. 운영체제는 데이터 저장 코드를 실행하여 하드디스크에 접근
  3. 다시 사용자 모드로 복귀


🎈 운영체제의 핵심 서비스

1. 프로세스 관리

실행중인 프로그램을 프로세스 라고 한다.
메모리 안에서 수많은 프로세스가 생성되고 삭제된다
CPU는 한번에 하나의 프로세스만 실행할 수 있으므로, 각 프로세스를 조금씩 번갈아가며 실행한다.

프로세스마다 사용하고자 하는 자원은 다양하므로, 운영체제는 이를 일목요연하게 관리해야 한다.

2. 자원 접근 및 할당

운영체제가 프로세스에 할당하는 주요 자원

1. CPU 자원 : 어떤 프로세스로부터 CPU를 얼마나 오래 이용하게 할건지 결정 (CPU 스케줄링)
2. 메모리 자원 : 메모리가 적재될 주소 결정 / 메모리 부족 해결
3. 입출력 장치 : 입출력장치가 CPU에 인터럽트 요청을 보내면, 
               CPU는 커널 영역에 있는 인터럽트 서비스 루틴을 실행한다.

3. 파일 시스템 관리

운영체제는 보조기억장치의 파일 열기/생성/삭제 및 디렉토리 관리를 지원한다.

0개의 댓글