Linux Kernel(3)
-
유닉스 커널 (UNIX Kernel)
유닉스 커널은 애플리케이션이 동작할 수 있는 실행 환경을 제공함. 따라서 커널은 일련의 서비스와 이에 상응하는 인터페이스를 구현해야 함. 애플리케이션은 이러한 인터페이스를 사용하며, 대개 하드웨어 자원과 직접 상호작용하지 않음. 표준 유닉스 커널은 커널모드와 사용자 모드만 사용함. 사용자 모드에서 동작 중일 때, 프로그램은 커널 자료 구조나 커널 프로그램에 직접 접근할 수 없음. 그러나 애플리케잇녀이 커널 모드에서 동작 중일 때는 이러한 제한이 적용되지 않음. 커널은 프로세스가 아닌 프로세스 관리자임. 프로세스/커널 모델에서는 프로세스가 커널 서비스를 필요로 할 때 시스템 콜(system call)이라는 특별한 프로그래밍 구조를 활용하도록 함. 각 시스템 콜은 프로세스가 제기하는 요청을 나타내는 매개 변..
2022.07.11 -
유닉스 파일 시스템 UNIX File System
파일 유닉스 파일은 일련의 바이트로 이루어진 정보를 담는 일종의 그릇. 라이브러리에 있는 프로그램은 커널이 제공하는 시스템 콜을 사용해야 함. 사용자 관점에서 보는 파일은 트리형태의 이름 공간으로 조직됨. Root directory : 트리의 뿌리에 해당하는 디렉토리. 전통적으로 루트 디렉토리 명은 /(슬래시) 경로명이 /(슬래시)로 시작하면 그 경로명은 시작 지점이 루트 디렉토리이기 때문에 절대 경로(absolute path)라 하며 시작 지점이 현재 디렉토리일 때는 상대 경로(relative path)라고 함. . : 현재 작업 디렉토리 .. : 부모 디렉토리 현재 작업 디렉토리가 루트 디렉토리인 경우 '.' 과 '..'은 동일. 하드 링크(Hard Link) 디렉토리에 있는 파일명을 '파일 하드 링..
2022.07.11 -
운영체제(OS, Operating System), 커널(Kernel) 기본 개념
운영 체제 모든 컴퓨터 시스템에는 운영체제(OS, Operating System)라는 기본적인 프로그램 집합이 들어있고, 이 중에서 가장 중요한 프로그램을 커널(kernel)이라고 함. 커널은 시스템을 부팅할 때 램(RAM)으로 로드되며, 시스템이 동작하는 데 필요한 여러 가지 중요한 절차를 포함함. 커널은 시스템에 있는 모든 것에 핵심적인 능력을 부여하고, 고급 소프트웨어의 여러가지 특징을 결정함. 프로세스 모든 운영체제는 기본적인 추상 개념 중 하나인 프로세스를 활용함. 프로세스는 실행 상태에 있는 프로그램의 인스턴스(instance) 또는 실행 중인 프로그램의 실행 컨텍스트(execution context)라는 말로 정의할 수 있음. 유닉스 계열 운영체제는 프로세스/커널 모델을 채택함. 각 프로세스..
2022.07.11