반응형 혼자 공부하는 것들/운영체제12 [운영체제] fork 실습 -1 실습을 하기전에! 일단 fork가 무엇인지 알아보자. fork란? 컴퓨팅, 특히 유닉스 운영 체제와 유닉스 계열 환경에서 포크(fork)란 프로세스가 자기 자신을 복제하는 동작이다. 이는 일반적으로 시스템 호출의 일종이며, 커널 안에서 구현된다. 포크는 유닉스 계열 운영 체제에서 프로세스를 만드는 주된 방식이다. 복제의 대상을 부모 프로세스라 하고 그 결과물을 자식 프로세스라 한다. 코드를 보자! fork0.c 파일 #include #include #include #include int main(void) { int pid, status; pid = fork(); //(1) printf("pid = %d\n", pid); //(2) while ( 1 ) ; //(3) } 1. 실행하면 몇 개의 프로세스가.. 2020. 9. 27. [운영체제] system call 코드를 분석하기전! system call이 무엇인지 알고 넘어가자! system call이란? 리눅스 커널과 같은 운영 체제에서 응용 프로그램의 저수준 입출력 함수가 실행되면, 해당 실시간 라이브러리 함수에 의해 소프트웨어 인터럽트가 실행된다. 이것을 시스템 콜(system call)이라고 하고, 함수의 기능에 따라 드라이버를 구별하고 드라이버 내의 함수를 지정함과 동시에 데이터를 레지스터를 통해 넘겨준다. print_ch.c파일 #include int main() { char buff[ ] = "This is a sample file.\n"; int nb; int i; nb = 24; for (i = 0; i < nb; i++) printf("%c", buff[i]); } lowlevel_read.c .. 2020. 9. 27. [운영체제] CPU 모드 관찰 성능 모니터 그래프의 추이를 서술하시오 실험 1 Test1.c 실행 int main() { int i=0, sum=0; while (1) { sum += i; i += 1; } } 1. %User Time과 %Privileged Time 중 어느 쪽이 높다고 생각하는가? - %User Time이 더 높다. 2. 이러한 그래프 양상에 대한 이유를 설명하시오. %User Time는 응용프로그램이 사용한 cpu사용률이고, %Privileged Time은 시스템이 사용한 cpu 사용률이다. 따라서 이 코드는 무한반복, 사용자 가 사용하는 응용프로그램이기 때문에 %User Time이 더 높게 나온다. 실험 2 Test2.c 실행 #include int main() { int i=0, sum=0; while (1).. 2020. 9. 27. 이전 1 2 다음 반응형