suminworld

전체 글 45

tmux (수정 예정)

운영체제론 syscall lab 과제 하는데 생각보다 환경설정부터 자잘한 이슈가 너무 많아서ㅜ결국 새 가상머신에서 커널 빌드 하는데 새벽 내내 돌리고 이런저런 자잘한 이슈가 많은데 이동할 일이 있을때 유용하게 사용하였던 tmux 까먹을까봐 명령어 정리해두려고 합니당 과제 기한은 열흘 남았지만 그래도 오류 나는거 후딱 헤치우는게 우선일 것 같아서 휘갈기고 다음에 깔끔하게 정리해두겠습니당 ʕ •ᴥ•ʔゝ tmux 터미널 멀티플렉서(terminal multiplexer): 한 물리적인 터미널 안에서 여러 개의 가상 터미널 세션을 만들어 주는 도구 구조┌─────────────────────┐│ macOS 터미널 (VSCode SSH 등) │ ← 내 창 (Client)└────────┬────────────┘..

concept 2025.11.03

[운영체제론] 가상 메모리

2025-2 운영체제론 수업 중간고사 대비하면서 강의안 기준으로 정리한 내용입니당 φʕ•ᴥ•oʔ시험은 끝났지만 요새 오전 5시에도 잠이 안와서 수면패턴 똥망한김에 정리해보았습니다🫠주의사항> 이 글의 비트 분해 및 주소 계산은 강의 예제(12-bit VA, 9-bit PA, 32B 페이지, 16-line 2-way 캐시)를 기준으로 작성되었습니다.실제 시스템에서는 운영체제(OS) 와 하드웨어 아키텍처, 페이지 크기, 캐시 구성, 메모리 관리 정책 등에 따라 주소 비트의 분할(tag/index/offset) 및 계산 결과가 달라질 수 있습니다!1. Virtual Memory 기본 개념Virtual Memory프로세스마다 독립된 주소 공간을 제공하여, 실제 RAM보다 큰 메모리를 쓸 수 있게 하는 논리적 메..

concept 2025.10.31

[운영체제론] Dynamic Memory Allocation

੯∙̀͡u\ 운영체제론 강의 수강하면서 일부분 정리한 내용입니다 ૮₍ •̀ᴥ•́ ₎ა목차get_header() 함수 분해First-fit 탐색 알고리즘헤더 구조와 비트 연산addblock() - 할당 및 분할get_header() 함수 분해코드 static inline word_t get_header(void *bp) { return *((word_t *)bp - 1);}```### 1. static inline- **static**: 같은 파일 안에서만 사용 가능한 지역 함수- **inline**: 함수 호출 대신 코드를 그 자리에 직접 치환 (오버헤드 감소)- 의미: "이 파일 안에서만 쓰는, 빠른 내부 헬퍼 함수"### 2. word_t get_header(void *bp)- `wor..

concept 2025.10.29

Rust for Linux: 커널 개발을 위한 3가지 핵심 언어 기능

원문: LWN.net - Upcoming Rust language features for kernel development깃허브: https://github.com/sumin-world/rust-security-suminworld들어가며리눅스 커널을 Rust로 작성하려는 Rust for Linux 프로젝트가 진행되면서, Rust 언어 자체도 발전하고 있습니다. 이번 포스팅에서는 Kangrejos 2025 컨퍼런스에서 발표된 커널 개발에 필요한 3가지 핵심 Rust 언어 기능을 살펴보겠습니다.1. Field Projections (필드 투영) 문제 상황Rust에는 이미 기본 포인터 타입(&, *mut)에 대한 필드 접근 기능이 있습니다:fn project_reference(r: &MyStruct) -> &..

system 2025.10.29