01. 운영체제

권한·2025년 11월 9일

운영체제

목록 보기
1/7

운영체제

  • (시스템) 자원 : 프로그램 실행에 마땅히 필요한 요소들
  • 운영체제operating system
    - 프로그램에 필요한 자원 할당. 프로그램이 잘 실행되게 돕는 프로그램. 자원 관리
    - 커널 영역kernel space에 적재.
    - 실행할 프로그램 메모리에 적재, 종료 프로그램 메모리에서 삭제

    💡 사용자 영역user space
    사용자가 이용하는 응용 프로그램이 적재되는 영역
    💡 응용 프로그램application software
    사용자가 특정 목적을 위해 사용하는 일반적인 프로그램

커널

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

💡 운영체제가 제공하는 서비스 중 커널에 포함되지 않는 서비스가 있는데, 대표적으로 사용자 인터페이스UI; User Interface는 윈도우의 바탕화면처럼 사용자가 컴퓨터와 상호작용할 수 있는 통로이다.
🐥 그래픽 유저 인터페이스GUI : 그래픽을 기반으로 컴퓨터와 상호작용
🐥 커맨드 라인 인터페이스CLI : 명령어를 기반으로 컴퓨터와 상호작용

이중모드

dual mode. CPU가 명령어를 실행하는 모드를 사용자 모드와 커널 모드로 구분.
운영체제는 응용 프로그램들이 자원에 접근하려 할 때 오직 자신을 통해서만 접근하도록 하여 자원 보호

  • 사용자 모드user mode : 운영체제 서비스를 제공받을 수 없는 실행 모드. 자원에 접근 불가능
  • 커널 모드kernel mode : 운영체제 서비스를 제공받을 수 있는 실행 모드. CPU가 커널 모드로 명령어를 실행하면 자원에 접근하는 명령어를 비롯해 모든 명령어 실행 가능

시스템 호출

system call. 운영체제에 서비스를 제공받기 위한 요청. 소프트웨어적 인터럽트

시스템 호출 종류

  • 프로세스 관리
    - fork() : 새 자식 프로세스 생성
    - execve() : 프로세스 실행(새 프로그램 내용으로 메모리 공간 덮어씌움)
    - exit() : 프로세스 종료
    - waitpid() : 자식 프로세스 종료까지 대기
  • 파일 관리
    - open() : 파일 열기
    - close() : 파일 닫기
    - read() : 파일 읽기
    - write() : 파일 쓰기
    - stat() : 파일 정보 획득
  • 디렉토리 관리
    - chdir() : 작업 디렉토리 변경
    - mkdir() : 디렉토리 생성
    - rmdir() : 비어있는 디렉토리 삭제
  • 파일 시스템 관리
    - mount() : 파일 시스템 마운트
    - umount() : 파일 시스템 마운트 해제
    ...

운영체제 핵심 서비스

  1. 프로세스 관리
    • 프로세스process : 실행 중인 프로그램
    • 하나의 CPU는 하나의 프로그램만 실행할 수 있기에 CPU는 프로세스들을 조금씩 번갈아가며 실행
    • 여러 프로세스가 실행되는 환경에서는 프로세스 동기화가 필수적. 더 이상 실행되지 못하는 상황인 교착상태 해결해야함
  2. 자원 접근 및 할당
    • CPU
      - CPU 스케줄링 : 어떤 프로세스부터 CPU이용, 얼마나 오래 이용할지 결정
    • 메모리
      - 새 프로세스가 적재될 때 어느 주소에 적재할지 결정
    • 입출력 장치
      - 인터럽트 서비스 루틴이 커널 영역에 존재
  3. 파일 시스템 관리 : 파일과 디렉토리로 관리
profile
티스토리로 옮김

0개의 댓글