process scheduling .
1. real-time process - 1.hard real-time(), 2.soft real-time(vedio decoder 등)
2. time-sharing process
1. real-time process - 1.hard real-time(), 2.soft real-time(vedio decoder 등)
2. time-sharing process
time-sharing 명.
Linux는 thread를 .
1. Kernel - 1. Kernel Thread, 2. LWT(Lightweight Thread)
2. User Thread
Linux는 thread를 .
1. Kernel - 1. Kernel Thread, 2. LWT(Lightweight Thread)
2. User Thread
thread를 동데, context switch를 데 른 thread 면 명 .
Linux 멀 념 fork()는 내부 do_fork()란 Kernel 를 며, do_fork()는 내부 user thread POSIX Mutex를 .
Linux 멀 념 fork()는 내부 do_fork()란 Kernel 를 며, do_fork()는 내부 user thread POSIX Mutex를 .
... 리... ... POSIX thread를 많 thread를 면 동를 목.
. 를 . 면 .
... mutex 동... 미... 데를 는 lock 는데 변 context switch 면 는냐.
. 를 . 면 .
... mutex 동... 미... 데를 는 lock 는데 변 context switch 면 는냐.
... context switch PCB(Process Control Block) 보 .
Assembly 며 는 문.
PCB process 르.
-> 만 Zombie Process 면 먹는 만 PCB 리 느.
Assembly 며 는 문.
PCB process 르.
-> 만 Zombie Process 면 먹는 만 PCB 리 느.
~cpp
void *thread(void *arg)
{
int num = *(int *)arg;
int i;
for(i=1; i<=20; i++){
pthread_mutex_lock(&mutex);
printf("%d: sum+=%d\n", num, i);
sum += i;
sleep(1);
pthread_mutex_unlock(&mutex);
}
}
thread를 10 면,
context switch arg 대 바뀌는 .
arg는 0~9 몇몇 복는 .
pthread_mutex_lock 변 면 arg는 0 .
만 pthread 내부 문 .
명 arg 믿 . .
Critical Section 데 데 대 바뀌 는.
. 는 문 만 많 동 데 리 많 는
argument 대 는 .
function argument를 는 stack , 는 stack 데. .
. 는 문 만 많 동 데 리 많 는
argument 대 는 .
function argument를 는 stack , 는 stack 데. .









