[리눅스 커널 내부구조] Chapter 00 - 운영체제 이야기

gom·2024년 3월 16일
post-thumbnail

1. 운영체제 동작 사례

운영체제

  • 자원관리자
  • 컴퓨터에 있는 CPU, 메모리, 디스크 등의 자원을 관리하여 일반 사용자들이 컴퓨터를 사용할 수 있도록 지원
  • 운영체제 동작
    • 프로그램 작성 : 사용자가 작성한 프로그램 저장 → 저장요청 운영체제로 전달 → 디스크에 프로그램 저장(파일이라는 객체로 관리)
    • 파일 관리 : 운영체제가 디스크 블록을 할당받아 파일의 내용 저장 → 파일의 속성정보를 저장하기 위한 공간을 디스크에 할당(inode) → 사용자 작성 프로그램과 inode 사이의 연결 생성 → inode와 디스크블록 연결
    • 컴파일 : 사용자가 만든 프로그램을 컴파일러를 사용하여 a.out(바이너리 파일) 생성 → 파일 관리 절차에 따라 디스크에 저장
    • 프로그램 수행과 태스크 : 바이너리 수행 → task라는 새로운 객체 생성 → 해당 객체는 수행중인 프로그램으로 정의 → 기존에 존재하던 task들과 서로 경쟁하며 CPU 사용 → 운영체제는 CPU 자원을 공평하게 할당하려고 노력 (라운드 로빈 방식을 대표적으로 사용)
    • 태스크 메모리 관리 : 새로운 태스크는 메모리의 일부 공간을 할당받음 → 바이너리 파일의 수행 이미지 적재 → 세그먼트 테이블과 페이지 테이블을 이용하여 자신에게 할당된 페이지 프레임 관리

이 글은 아래의 책을 공부 및 정리한 내용입니다.
리눅스 커널 내부구조 - 예스24

profile
탐험하는 개발자

0개의 댓글