Posts 리눅스 커널 정리(1,2,3,4)
Post
Cancel

리눅스 커널 정리(1,2,3,4)

리눅스

운영체제

운영체제란(OS)?

  • 사용자가 컴퓨터를 사용하기 위해 필요한 SW
  • 시스템 호출을 통해 태스크가 자원을 사용할 수 있게 해주는 자원 관리자

운영체제의 목적

  • 컴퓨터의 하드웨어를 관리
  • 사용자에게 편의를 제공
  • 컴퓨터의 성능을 높임

운영체제의 위치

  • 사진 추가 예정

리눅스

리눅스란?

  • Linux는 os중 하나이며, 다중 사용자, 다중 작업(멀티테스킹, 다중쓰레드)를 지원하는 네트워크 운영체제(NOS)

리눅스의 장점

  • 사용자 임의대로 재구성 가능
  • 열악한 환경에서도 H/W 자원을 적절히 활용하여 동작
  • 커널의 크기가 작음
  • 완벽한 멀티유저, 멀티태스킹 시스템
  • 뛰어난 안정성
  • 빠른 업그레이드
  • 강력한 네트워크 지원
  • 풍부한 소프트웨어
  • 사용자를 위한 여러 가지 공개 문서들

02. 리눅스 커널 구조

커널이란?

  • 운영체제의 핵심을 이루는 부분으로, CPU나 메모리 그리고 기타 디바이스 등의 시스템 리소스를 관리하고, 사용자 프로그램이 이를 사용할 수 있도록 한다.
  • 자원관리자의 역할

참고 < 자원관리자의 구체적인 역할 >


태스크 관리자

  • 태스크의 생성, 실행, 상태전이, 스케쥴링, 시그널 처리, 프로세스간 통신(IPC)

메모리 관리자

  • 물리 메모리 관리, 가상 메모리 관리, 세그먼테이션, 페이징, 페이지 부재 결함 처리

파일 시스템

  • 파일의 생성, 접근제어, inode 관리, 디렉터리 관리, 수퍼블록 관리

네트워크 관리자

  • 소켓 인터페이스 TCP/IP

디바이스 드라이버

  • 디스크, 터미널, CD, 네트워크 카드, 주변장치 구동 드라이버

리눅스의 소스코드 구조

(사진추가예정)


디렉터리가 담당하는 역할들

kernel

  • 태스크 관리자 구현, 태스크 관리자 기능 구현

arch

  • CPU 타입과 같은 하드웨어 종속적인 부분 구현

fs

  • 리눅스에서 지원하는 다양한 파일 시스템 (ext,nfs,VFS) 포함

mm

  • 메모리 관리자 구현

driver

  • 리눅스에서 지원하는 디바이스 드라이버 구현

net

  • 커널 소스 중 상당히 많은 양을 차지하며 통신 프로토콜 구현

ipc

  • 프로세스간 통신 기능 구현(파이프, 시그널 등등)

init

  • 커널 초기화 부분으로 커널의 메인 시작 함수 구현

include

  • 리눅스 커널이 사용하는 헤더 파일 구현

others

  • Documentation 디렉터리에 유용한 자료 존재

03. 태스크 관리

04. 메모리 관리

This post is licensed under CC BY 4.0 by the author.