1、橾作系统课柱作业操作系统作业 4姓名,学号1. Whyis the separation of mechanism and policy desirable?Answer: Mechanism and policy must be separate to ensure that systems are easy to modify. No two system installations are the same, so each installation may want to tune the operating system to suit its needs. With mechani
2、sm and policy separate, the policy may be changed at will while the mechanism stays unchanged. This arrangement provides a more flexible system.2. w hat are the two models of interprocess communication? What are the strengths and weaknesses of the two approaches?Answer: The hvo models of intetproces
3、s communication are message- passing model and the shared-memory model. Message passing is usefttl for exchanging smaller amounts ofda,ta because no conflicts ne,e d be avoided. It is also easier to implement than is sharedmemory for intercomputer communication. Sharedn1emory allow s maximum speed a
4、nd convenience of communication, since it can be done at memory transfer speeds when it takes place within a computer. However, this method compromises on protection and synchronization belveen the processes sharing memory3. Including the initial parent process, bow many processes are created by the
5、 program shown in Figure l?#i ncl ude #include intmai n ()inti;for( i 一 O; i 4 ; i+)fork();return O;Figure 1: Program for Question 3.2Answer: 16 processes are created.Hint: You may include printfO statements to better understand bow many processes have been created.4. . Explain the circumstances und
6、er which the line of code marked prin tf ( LI NE J ) in Figure 2 will be reached#include #include #include intmain()pid_tpid;I* for k a child process *I pid = fork();if(pid O) I * error occurred *I fprintf(stderr, Fork Fail ed ) ; return 1;else if(pid = 0)I * child process *Iexeclp(/bin/ls,ls,NULL);
7、 printf(LINE J);else /* parent process *II* parent will w 吐 tforthechild to complete *Iw 吐 t ( NULL) ;printf(Child Complete);return O;Fi驴re 2: Prog ram for Question 4.橾作系统课柱 作业3Answer: The call to execO replaces the address space of the process with the program specified as the parameter to execQ. I
8、f the call to execO succeeds, the new program is now running and control from the call to exec() never returns. lti this scenario, the line printf(Line J); would never be performed. However, if an error occms in thecall to execO, the function ren1rns control and therefor the line printf(Line J ); wo
9、uld be performed.5. Using the program in Figure 3, identify the values of pid at 1ines A, B, C, and D. (Assume that the actual pids of the parent and child are 2600 and 2603, resp ec tiv e ly .)#include s#include #include int main)picLt pi d, pidl;I* fork a child process 寒 pidfro k() ;if(pid 0) / er
10、ror occurred / fprintf (stderr, Fork Fail e心); return 1;else if (pid sc0) / child process/ pidl getpid() ;printf (chil d: pid =d,pid); / 亭 A *I printf(child: pid1 =d , p 过 1); / BIelse / parent process/ pidl = getpid() ;printf(parent: pid = i.d,pid); / 拿 C 拿 printf (parent: p 工 di i.d, pidl) ; /* D
11、I 11ait (NULL) ;r eturn O;Figure 3: Program for Question 5.Answer: A = 0, B = 2603, C = 260, 3 D = 26004橾作系统课柱作业6. Using the program shown in Figure 4, explain what the output will be atlines X and Y.#include #incl ude #include #define SIZE 5intnumsSIZE = 0 , 1 , 2 , 3 , 4 ;intmain()inti;pid_tpid;pi
12、d = fork();if(pid = 0) for(i = O; i 0) w ai t (NULL) ;for(i= O; i SIZE; i+)rp i nt f (PARENT: 加 , nums i ) ; I * LINE Y /return O;Figure 4: Program for Question 6.Answer: Because the child is a copy of the parent, any changes the child makes will occur in its copy of the data and won t be reflected
13、in the parent. As a result, the values output by the child at line X are 0, -1, -4, -9, -16. The values output by the parent at line Y are 0, I, 2, 3, 45操作 系统 课杠 作 业7. Which of the following components of program state are shared across threads in a multithreaded process?a. Register valuesb. Heap me
14、moryc. Global variablesd. Stack memoryAnswer: The threads of a multithreaded process share heap memory and global v ariables.Each thread has its separate set of registervaluesand a separatestack.8. A system with two dual-core processors has four processors available for scheduling. A CPU-intensive application is running on this system. All input is performed
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1