운영체제론 syscall lab 과제 하는데 생각보다 환경설정부터 자잘한 이슈가 너무 많아서ㅜ
결국 새 가상머신에서 커널 빌드 하는데 새벽 내내 돌리고 이런저런 자잘한 이슈가 많은데 이동할 일이 있을때 유용하게 사용하였던 tmux 까먹을까봐 명령어 정리해두려고 합니당 과제 기한은 열흘 남았지만 그래도 오류 나는거 후딱 헤치우는게 우선일 것 같아서 휘갈기고 다음에 깔끔하게 정리해두겠습니당 ʕ •ᴥ•ʔゝ
tmux 터미널 멀티플렉서(terminal multiplexer)
: 한 물리적인 터미널 안에서 여러 개의 가상 터미널 세션을 만들어 주는 도구
구조
┌─────────────────────┐
│ macOS 터미널 (VSCode SSH 등) │ ← 내 창 (Client)
└────────┬────────────┘
│ SSH 연결
▼
┌─────────────────────┐
│ Ubuntu 서버 (UTM VM) │
│ ┌─────────────────────┐ │
│ │ tmux 서버 (daemon) │ ← 항상 백그라운드에서 살아있음
│ └───────┬─────────────┘ │
│ │ 세션(kernel) │
│ ▼ │
│ [ make -j2 modules 실행 중 ] ← 커널 빌드 프로세스
└──────────────────────────┘
1️⃣ 설치
2️⃣ 새 세션 시작
“kernel”은 세션 이름 (아무 이름이나 가능)
이 안에서 make -j2 modules 같은 명령 돌리면 됨.
(참고로 일반적으로는 make -j4 modules 명령으로 CPU 4개를 활용해 병렬 빌드를 진행하지만,
제 환경에서는 빌드가 중간에 멈춘 적이 있어서 안정성을 위해 -j2로 제한하여 빌드했습니다!이런 문제 생길 수 있으니 전전 과제는 미리 하는게 좋다는 걸 다시 한번 깨닫네요ㅜ)
3️⃣ 나가기 (빌드 계속 유지하면서)
그냥 터미널에서 빠져나오고 싶을 때:
→ “detached from session kernel” 뜨면 세션이 백그라운드로 살아있음
4️⃣ 나중에 다시 접속
5️⃣ 세션 목록 보기
6️⃣ 세션 완전 종료
요약:
- 커널 빌드 시작 전 tmux new -s kernel
- 빌드 중간에 SSH나 터미널 꺼도 계속 컴파일됨
- 다시 접속하려면 tmux attach -t kernel
'concept' 카테고리의 다른 글
| [OS] 뮤텍스 + Block() 방식의 문제점 (Producer-Consumer Problem) (0) | 2025.11.17 |
|---|---|
| [운영체제론] Constant Time Coalescing (Case 1-4) 정리 (0) | 2025.11.08 |
| [운영체제론] 가상 메모리 (0) | 2025.10.31 |
| [운영체제론] Dynamic Memory Allocation (0) | 2025.10.29 |
| [운영체제론] errno와 시그널 핸들러 (1) | 2025.10.23 |