# Linux kernel

29개의 포스트
post-thumbnail

Kernel Data Structures [미완성]

Linux Kernel Development를 읽고, 커널 자료구조를 정리한 글이다.

2023년 7월 27일
·
0개의 댓글
·
post-thumbnail

Process Scheduling

리눅스 커널 심층분석을 읽고 리눅스의 태스크 스케줄링 기법을 정리한 글이다

2023년 7월 19일
·
1개의 댓글
·
post-thumbnail

Process Management

리눅스 커널 심층분석을 읽고 process를 관리하는 기법을 정리한 글이다.

2023년 6월 30일
·
0개의 댓글
·
post-thumbnail

Linux Kernel OS 2(작성중)

태스크가 kernel에 의해 운영 되면서 여러 상태로 전이를 한다(ready, running, dead ...)이는 태스크가 요청했던 자원이 사용 가능해지면 다시 수행시켜 줌으로써 보다 높은 시스템 활용률을 제공하려 한다일단 태스크가 생성되면 그 태스크는 준비 상태TA

2023년 5월 13일
·
0개의 댓글
·
post-thumbnail

1. Linux Kernel Terms

Kernel은 OS의 구성 요소 중 하나로, 상위 수준 소프트웨어에게 하위 수준 서비스를 위한 인터페이스를 제공한다. 즉, 프로세스 수행을 지원하며 하드웨어 자원을 관리한다.

2023년 4월 8일
·
0개의 댓글
·
post-thumbnail

LWP, Copy-on-Write

PCB는 담긴 meta data들이 많기 때문에 메모리에서 큰 용량을 차지할 수 있다.따라서 Parent 에서 Child를 fork() 하는 과정에서 PCB가 복사되고 이때 많은 오버헤드가 발생하는데 이를 줄이기 위해서 PCB 구조체 전체를 복사하는 것이 아닌 포인터를

2023년 2월 6일
·
0개의 댓글
·
post-thumbnail

Context Switch ( 문맥교환 )

문맥교환이라고도 한다.CPU를 사용하는 프로세스가 변경될 때 발생하는 CPU 교환 작업이라고 생각하면 될 것 같다.Context Switch가 발생할때 수행되는 커널의 함수SystemCall 과는 다르게 외부에서 호출할 수 없으며 커널 내에서만 호출이 가능하다.이때 s

2023년 2월 6일
·
0개의 댓글
·

prepare_kernel_cred(), commit_creds()

Task 리눅스에서 task는 프로그램의 실행 단위를 나타낸다. 커널에서 프로세스, 쓰레드를 모두 task로 본다. PCB, TCB도 다 task_struct로 구현되어 있다고 한다. 각 task는 커널 메모리에 task_struct 구조체로 표현된다. task_str

2023년 1월 26일
·
0개의 댓글
·
post-thumbnail

Linux Kernel module programming

Kernel module? 모듈은 사용자의 혹은 커널의 요구로 읽혀지거나 아니면 없어지는 코드들로 이루어진 프로그램의 어떤 한 조각을 의미한다. 커널은 하나의 큰 모듈들의 집합이라고 볼 수 있다. 모듈들을 통해서 필요할때 더 추가, 혹은 제거를 통해서 커널을 다시 컴파

2023년 1월 20일
·
1개의 댓글
·
post-thumbnail

컨테이너를 위한 리눅스 기능: cgroup, namespace, union mount

컨테이너 기술의 근간이 되는 Cgroup, Namespace, Union mount에 대해 알아보자.

2022년 10월 17일
·
1개의 댓글
·
post-thumbnail

[Linux Kernel] Memory Management

Memory Management

2022년 10월 16일
·
0개의 댓글
·
post-thumbnail

[Linux Kernel] File System of Linux

Linux File System

2022년 10월 16일
·
0개의 댓글
·
post-thumbnail

[Linux Kernel] File System of Unix

File System of Unix

2022년 10월 16일
·
0개의 댓글
·
post-thumbnail

[Linux Kernel] interrupt

interrupt

2022년 10월 16일
·
0개의 댓글
·
post-thumbnail

[Linux Kernel] Process Management

Process Management

2022년 10월 16일
·
0개의 댓글
·
post-thumbnail

[Linux Kernel] System call

System call

2022년 10월 16일
·
0개의 댓글
·
post-thumbnail

[Linux Kernel] Introduction

Introduction

2022년 10월 16일
·
0개의 댓글
·

[Linux] Aarch64 Busybox 크로스 컴파일 방법

QEMU에서 브레이크 안걸고 리눅스 커널을 실행하면 rootfs가 없다고 나온다.여러 가지 방법으로 rootfs를 만들 수 있는데, 그 중 가장 간단한 busybox를 이용한 방법을 정리하였다.Busybox를 Git에서 내려받는다.빌드할 Busybox의 버전을 정해야

2022년 8월 29일
·
0개의 댓글
·
post-thumbnail

리눅스 커널(kernel)

컴퓨터는 크게 하드웨어와 소프트웨어로 나뉜다.하드웨어는 눈에 보이고 , 손으로 만질 수 있는 것들 예를 들면 모니터 , 데스크톱, CPU 등이 될 수 있다.소프트웨어는 하드웨어와 반대로 눈에 보이지 않고 손으로 만질 수 없는 것들 , 예를 들면 현재 우리가 이 블로그를

2022년 8월 24일
·
0개의 댓글
·
post-thumbnail

[Linux] Aarch64 리눅스 커널 크로스 컴파일 방법 (using LLVM)

LLVM을 통해 리눅스 커널을 빌드할 수 있도록 만드는 중이라고 한다.아래 링크에 보면 arm64는 이미 (2022.09.11 기준) LLVM을 이용해 빌드가 가능하다고 한다.https://docs.kernel.org/kbuild/llvm.html대체로 아래에

2022년 8월 23일
·
0개의 댓글
·