iamrootbug / iamroot

Iamroot study
0 stars 0 forks source link

2020.09.05.Meeting Sync #5

Open iamrootbug opened 4 years ago

iamrootbug commented 4 years ago

다음주 진도계획

p114 ~ p163

time schedule

한시간씩 진행 (50분 진행 / 10분 휴식) 15:00 - 18:00 18:00 - 19:00 휴식 19:00 - 21:30 21:30 - 22:00 정리 & 다음주 진도 계획 이번주 진도 p70~p114

ch3. 테스크 관리 :: 6.상태 전이

task_uninterruptible vs task_killable : signal https://stackoverflow.com/questions/767551/how-to-stop-uninterruptible-process-on-linux

current task level ? cs register 의 최하위 비트 2개 = 권한, ring CPL DPL https://en.wikipedia.org/wiki/X86_memory_segmentation user level = 0b11 kernel level = 0b00

interrupt vs trap vs signal https://en.wikipedia.org/wiki/Trap_(computing) https://stackoverflow.com/questions/13341870/signals-and-interrupts-a-comparison trap = syscall, breakpoint, cpu에 의도된 멈춤? 전달? interrupt = exception, divide by zero, page fault. cpu 에 의도되지 않은 멈춤? signal = OS kernel <-> process 하나의 통신. ipc일종 https://en.wikipedia.org/wiki/Signal_(IPC)

union keyword in c 멤버 변수간 메모리 공간 공유

https://m.blog.naver.com/PostView.nhn?blogId=imbin_&logNo=221330417695&proxyReferer=https:%2F%2Fwww.google.com%2F x86 calling convention :: system call `eax`에 시스템콜 번호를 넣고 `int $0x80`을 호출한다. https://stackoverflow.com/questions/47692516/what-is-the-use-of-eax-register-in-the-context-of-system-calls-in-linux sched_domain sched_group 을 하드웨어적 특성에 따라 분류. https://www.kernel.org/doc/html/latest/scheduler/sched-domains.html https://stackoverflow.com/questions/14229793/what-does-struct-sched-domain-stands-for-in-include-linux-sched-h-scheduling-do http://jake.dothome.co.kr/sched-domain/ RT 스케줄러 `SCHED_FIFO`, `SCHED_RR` http://jake.dothome.co.kr/rt-scheduler/ 일반 스케줄러 `CFS (completely fair scheduler)` `vruntime` `Time Slice` http://jake.dothome.co.kr/cfs/ Context, 문맥 `registers` `pc` `ebx` .. SMP vs AMP SMP = 요즘 일반적인 cpu AMP = arm bit.LITTLE cpu https://blogs.sw.siemens.com/embedded-software/2010/06/07/amp-vs-smp/ #### ch4. 메모리 관리 32bit -> 2^32 = 2^2 * (2^10)^3 = 4 * 1e9 => 4GB 물리 메모리 노드 > 존 > 페이지. NUMA = 복수의 노드 존재. 존 종류 : ZONE_DMA, ZONE_NORMAL ... http://jake.dothome.co.kr/zone-types/ Buddy `큰 사이즈` Slab `작은사이즈` `cache` http://jake.dothome.co.kr/buddy-alloc/ http://jake.dothome.co.kr/slub/ 가상메모리 task_struct > mm_struct > vm_area_struct cat /proc/self/maps MMAP(2) `MAP_ANONYMOUS` `MAP_SHARED` `MAP_PRIVATE` https://man7.org/linux/man-pages/man2/mmap.2.html