Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2020.09.05.Meeting Sync #5

Open
iamrootbug opened this issue Sep 5, 2020 · 0 comments
Open

2020.09.05.Meeting Sync #5

iamrootbug opened this issue Sep 5, 2020 · 0 comments

Comments

@iamrootbug
Copy link
Owner

iamrootbug commented Sep 5, 2020

다음주 진도계획

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant