일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 안드로이드
- Android
- 학복위
- Signal
- 함수
- 파일io
- 커널
- 운영체제
- kernel
- 로고
- 로고 프로그램
- Lock
- 컴시
- logo
- 프로세스
- Linux
- 쓰레드
- 정기철
- 와인
- Process
- 별지기
- wine
- 학생복지위원회
- 미디어학부
- 별
- 리눅스
- 컴퓨터시스템개론
- 태그를 입력해 주세요.
- 숭실대
- 우분투
- Today
- Total
목록IT/IT ::Advanced SystemProgramming (16)
두근두근이야기
do_mmap()함수는 현재 프로세스의 선형 주소 공간상의 메모리 할당을 맡고 있다.정의는 ~/include/linux/mm.h 에 아래와 같은 inline함수로 되어있다.static inline unsigned long do_mmap(sturct file *file, unsigned long addr, unsigned long len, unsigned long prot, unsigned long flag, unsigned long offset){ unsigned long ret = -EINVAL; if((offset + PAGE_ALIGN(len))> PAGE_SHIFT);out: return ret;} do_mmap()함수가 넘겨 받는 파라미터 값으로는 file 구조체와 주소, 할당하려는 공간의 크기..
sys_execve함수에서filename = getname((char *)regs.ebx);위와 같이 regs에서 ebx를 얻어오면 실행파일명이 오는데ebx에 임의의 값을 넣어 sys_fork시에 원하는 값을 얻고 싶다! 이게 가능한가? pt_regs의 값을 임의로 바꾸면 안된다.이는 user -> kernel context switch 가 일어날 때 레지스터 설정을 저장해둔 것으로 나중에 kernel 에서 user로 갈 때 레지스터를 복구하기 위해 사용된다. system call 이 불릴 때 orig_eax는 system call number를 갖고 있다.fork()에서는 pt_regs는 child process의 context를 마들 때에도 사용된다. [출처] pt_regs|작성자 빵꾸 [출처] pt..
extern int flush_old_exec(struct linux_binprm *bprm); 기존 프로세스 정보를 삭제하고,flush_old_exec()의 인자 값(*bprm)으로 현재 프로세스로 설정. 함수 정의 부분이다. 이는 /fs/exec.c에 정의되어 있다.
PID는 각 프로세스/스레드를 구분해 주는 번호이다. (이후 특별히 구분할 필요가 없는 경우 단순히 태스크라고 부를 것이다.) 각 태스크는 부모-자식 관계와 더불어 다음과 같은 여러 가지 형태로 관련되어 있다. 한 프로세스('스레드 그룹'이라고도 한다)에 속한 여러 스레드 한 프로세스 그룹에 속한 여러 프로세스 한 세션 그룹에 속한 여러 프로세스 부모-자식 관계는 task_struct를 통해 직접적으로 리스트로 연결되어 있으며 (children, sibling) 한 프로세스에 속한 여러 스레드들도 리스트로 직접 연결되어 있다. (thread_group) 하지만 프로세스 그룹이나 세션 그룹의 경우에는 그룹 리더의 PID를 통해 연결되기 때문에 이들 간의 관계를 관리하기 위한 자료 구조가 필요하다. 참고로 ..
When you make a system call from user space, the first thing that is checked is if the address of the parameter is well within the legal virtual address space (i.e. 0 to 3 GB for the user space). If this is not so, the call will fail. If you want to make the same system call from the Kernel Space( Virtual Address 3 - 4 GB) however, this address checking has to be avoided so that the call will no..
http://academic.naver.com/view.nhn?doc_id=12417262&dir_id=0&page=0&query=%EB%B9%84%EC%A0%90%EC%A7%84%EC%A0%81&ndsCategoryId=10512이상호, 허준영, 조유근, 홍지만서울대학교 컴퓨터공학부, 광운대학교 컴퓨터공학부
http://www.desktopgrid.hu/index.php?page=22
http://blog.naver.com/PostView.nhn?blogId=no1rogue&logNo=30047699432
1 wget ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.37.3.tar.gz tar xvfz linux-2.6.37.3.tar.gz mv linux-2.6.37.3 /usr/src/ cd /usr/src/linux-2.6.37.3 make mrproper make oldconfig //ncurse lib needed .config 복사?.. make make modules make modules_install cp /usr/src/linux-2.6.37.3/arch/x86/boot/bzImage /boot/vmlinuz-2.6.37.3 cp /usr/src/linux-2.6.37.3/System.map /boot/System.map-2.6.37.3 cd..