![]()
![]()
목차
0. Analysis
0.1. Process Execution Procedure
0.1.1. analysis
0.2. System Call Procedure
0.2.1. what is system call
0.2.2. analysis
0.3. File System
0.3.1. what is file descriptor
0.3.2. analysis
1. Process terminate messages
1.1. goal
1.2. how to solve problems
2. Argument Passing
2.1. goal
2.2. how to solve problems
3. System Call
3.1. goal
3.2. how to solve problems
3.2.1. data structure
3.2.2. detailed algorithm
3.2.3. implement system calls
4. Denying Writes to Executables
4.1. goal
4.2. how to solve problems
본문내용
0. Analysis
project 1에선 kernel에서 실행되는 thread들 위주였다면 project 2에서는 user program을 실행시키는 것이 위주이다. 따라서 project 1에선 alarm clock, priority scheduling, advanced scheduling 등의 코드들이 모두 kernel의 일부였고 해당 코드들을 kernel에서 직접 compile했지만, project 2에선 user program을 이용하여 compile한다. user program을 실행시키기 위하여 구현해야 하는 것은 아래와 같다.
1. Process terminate messages
2. Argument passing
3. System call
4. Denying writes to executables
user program은 file system에서 load되고 있고, 많은 system call 구현은 file system에서 다뤄진다.
0.1. Process Execution Procedure
0.1.1. analysis
1. main()
Process Execution Procedure을 분석하기 위해 먼저 threads/init.c의 main 함수를 보겠다.
0. Analysis 0.1. Process Execution Procedure
0.1.1. analysis 0.2. System Call Procedure
0.2.1. what is system call 0.2.2. analysis 0.3. File System 0.3.1. what is file descriptor 0.3.2. analysis
출처 : 해피캠퍼스
답글 남기기