CHAAANY ARCHIVE

Linux task

2개의 기록을 주제별로 둘러보세요.

CPU 레지스터·Linux task·goroutine 구분하기: 성능 용어의 층위

시스템 성능을 공부하다 보면 워드, 레지스터, 정수 타입, 프로세스, 스레드, runnable, goroutine이 한 문맥에 등장한다. 서로 연결돼 있지만 같은 층위의 개념은 아니다.기존 글은 이 용어를 CPU 관점으로 묶으려 했다는 점은 좋았다. 다만 “64비트 CPU의 워드는 항상 64비트”, “실제 OS 스레드는 코어 수 근처”처럼 문맥에 따라 달라지는 내용을 고정된 규칙처럼 적었다. 이번에는 하드웨어·ABI·운영체제·언어 런타임의 경계를 먼저 나눠 본다.먼저 어느 층의 용어인지 구분한다층위대표 용어결정하는 주체CPU 명령어 집합일반 목적 레지스터, 벡터 레지스터, 명령 피연산자CPU 아키텍처ABI·언어포인터 크기, int·long 크기, 호출 규약운영체제 ABI와 언어 구현운영체제프로세스, 스레..

Linux Kernel 동작 흐름: System Call·Task·Virtual Memory·VFS 연결하기

kernel을 공부할 때 system call, user mode, thread, virtual memory, VFS를 따로 정의하면 실제 실행 흐름이 잘 보이지 않는다. 한 번의 file read를 기준으로 보면 이 개념은 연결된다. user process가 library API를 호출하고, 필요할 때 syscall로 kernel에 진입하며, scheduler와 memory mapping, VFS·filesystem·page cache를 거쳐 결과를 받는다.이 글은 전체 kernel 구현을 ‘완전 정복’한다는 약속 대신, 다음 학습에서 길을 잃지 않기 위한 boundary map을 만든다.Kernel이 책임지는 경계Linux kernel은 privileged mode에서 실행되며 다음 자원을 중재한다...

728x90