운영체제란?!

hongxeob·2023년 1월 6일
0

운영체제

목록 보기
1/5
post-thumbnail

운영체제란

  • 모든 프로그램은 실행을 위해 자원(resource)을 필요로 한다
  • 자원/시스템 자원
    - 프로그램 실행에 있어 마땅히 필요한 요소
    - 컴퓨터의 네 가지 핵심 부품 포함!

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

  • 메모리속 커널 영역 : 운영체제가 항상 적재되어 있는 영역
  • 메모리속 사용자 영역 : 응용 프로그램(application)이 적재되는 영역

운영체제의 역할

  • 실행할 프로그램을 메모리에 적재하고, 더 이상 실행되지 않는 프로그램을 메모리에서 삭제하며 지속적으로 메모리 자원을 관리함
  • 운영체제는 최대한 공정하게 여러 프로그램에 CPU자원을 할당해 준다
  • 실행 할 프로그램들이 지켜야 할 규칙을 만들어 컴퓨터 시스템 전체를 관리한다

운영체제의 심장, 커널

커널

  • 자원에 접근하고 조작하는 기능, 프로그램이 올바르고 안전하게 실행되게 하는 기능이 운영체제의 핵심 서비스에 속한다
    이러한 운영체제의 핵심 서비스를 담당하는 부분을 커널이라고 한다
  • 운영체제가 설치된 모든 기기에는 커널이 있다
    - 커널은 마치 사람의 심장,혹은 자동차의 엔진과도 같다

커널에 포함되지 않는 서비스

  • 사용자 인터페이스 (사용자가 컴퓨터와 상호작용할 수 있는 통로)
    • 그래픽 유저 인터페이스(윈도우 바탕화면) + 커맨드 라인 인터페이스(명령어를 기반으로 컴퓨터와 상호작용할 수 있는 인터페이스)

이중모드와 시스템 호출

응용 프로그램이 자원에 접근하기 위해서는 운영체제에 도움을 요청해야 한다. 즉 운영체제는 문지기 역할이라고 할 수 있다

이중모드

  • CPU가 명령어를 실행하는 모드를 크게 사용자 모드와 커널 모드로 구분하는 방식
  • 사용자 모드
    - 운영체제 서비스를 제공받을 수 없는 실행 모드
    - 커널 영역의 코드를 실행할 수 없는 실행모드
    - 자원 접근 불가
  • 커널 모드
    - 운영체제의 서비스를 제공받을 수 있는 실행 모드
    - 자원 접근을 비롯한 모든 명령어 실행 가능
  • 운영체제

시스템 호출

  • 커널 모드로 전환하여 실행하기 위해 호출
  • 일종의 소프트웨어 인터럽트
    - 시스템 호출이 처리되는 방식은 하드웨어 인터럽트 처리 방식과 유사

운영체제의 핵심 서비스

프로세스 관리

  • 프로세스 == 실행 중인 프로그램
  • 수많은 프로세스들이 동시에 실행
  • 동시다발적으로 생성/실행/삭제되는 다양한 프로세스를 일목요연하게 관리

자원 접근 및 할당

  • CPU (CPU 스케줄링 : 어떤 프로세스를 먼저, 얼마나 오래 실행할까?)
  • 메모리 (페이징, 스와핑,---)
  • 입출력 장치

파일 시스템 관리

  • 관련된 정보를 파일이라는 단위로 저장 장치에 보관
  • 파일들을 묶어 폴더(디렉토리) 단위로 저장 장치에 보관
profile
걍 하자 저스트 뚜잇

0개의 댓글