본문 바로가기
컴퓨터/운영체제

운영체제란?

by lacuca9 2024. 9. 7.

모든 프로그램은 하드웨어를 필요로 한다.

ex) 1 + 2 계산하는 프로그램은 CPU, 이미지 저장은 하드 디스크

 

시스템 자원 혹은 자원

프로그램 실행에 필요한 요소들.

ex) CPU, 메모리, 보조기억장치, 입출력장치

 

운영체제(operating system)

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

프로그램이 올바르게 실행되도록 돕는 프로그램

부팅될 때 커널 영역(kernel space)에 따로 적재되어 실행됨.

나머지 영역을 사용자 영역(user space) 라고함. 

 

CPU 관리

운영체제는 실행할 프로그램을 메모리에 적재하고,

실행 종료되는 프로그램을 삭제하며 관리. 

입출력장치의 순서를 정해 자원을 관리.

 

자원을 효율적으로 배분하고, 규칙을 만들어 컴퓨터 시스템 전체를 관리함.

또한 관리할 자원별로 기능이 나누어져 있습니다.

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

프로그램을 위한 프로그램.  이를 만드는 개발자는 운영체제를 알아야함.

개발자의 문제 해결 능력 향상.

운영체제는 현재 하드웨어의 상태, 코드가 어떻게 실행되는지, 어떤 문제가 있는지 등을 알려 줌.


3 키워드

  • 커널이란?
  • 시스템 콜과 이중 모드란?
  • 운영체제 서비스 종류 ?

커널(kernel) :

프로그램이 올바르고 안전하게 실행되게 하는 기능이 운영 체제의 핵심 서비스에 해당함.

핵심 서비스를 담당하는 부분을 커널이라고 한다.

 

 # 운영체제에는 속하지만 커널에는 속하지 않는 기능?
    유저 인터페이스(UI; User Interface) : 바탕화면과 같이 컴퓨터와 상호작용하는 통로

    UI 종류 :

    그래픽 유저 인터페이스(GUI; Graphical User Interface) : 바탕화면 

    커맨드 라인 인터페이스(CLI; Command Line Interface) : cmd  

 

이중모드와 시스템 호출

운영체제는 프로그램이 하드웨어 자원에 직접 접근하는 것을 방지하여 자원을 보호함.

프로그램들이 자원에 접근하려 할 때 오직 자신을 통해서만 접근하도록 하여 보호함.

 

이중 모드(dual mode)

CPU가 명령어를 실행하는 모드를 사용자 모드커널 모드로 구분하는 방식

  • 사용자 모드(user mode)
    운영체제 서비스를 제공받을 수 없는 실행 모드
    커널 영역의 코드를 실행할 수 없는 모드
    자원 접근 불가
  • 커널 모드(kernel mode)
    운영체제의 서비스를 제공받을 수 있는 실행 모드
    자원 접근을 비롯한 모든 명령어 실행 가능

시스템 호출(system call)

커널 모드로 전환하여 실행하기 위해 호출

일종의 소프트웨어 인터럽트

  • 시스템 호출이 처리되는 방식은 하드웨어 인터럽트 처리 방식과 유사 

 

 

운영체제의 핵심 서비스

  • 프로세스(process) 관리 :
    실행중인 프로그램을 프로세스 라함. 
    CPU는 한 번에 하나의 프로세스만 실행할 수 있기에 프로세스들을 번갈아 실행함. 
    다양한 프로세스들을 일목요연하게 관리
    프로세스와 스레드, 동기화, 교착상태 해결해야 함.
  • 자원 접근 및 할당 :
    CPU (CPU 스케줄링 : 어떤 프로세스를 먼저, 얼마나 오래 실행할까?)
    메모리 (페이징, 스와핑, ...) : 어느 주소에 적재해야 할지 결정해야함.
    입출력장치
  • 파일 시스템 관리 :
    관련된 정보를 파일이라는 단위로 저장 장치에 보관
    파일들을 묶어 폴더(디렉터리) 단위로 저장 장치에 보관

'컴퓨터 > 운영체제' 카테고리의 다른 글

프로세스 개요  (0) 2024.09.11