Assignment
1. Circle the statements about interprocess communication (IPC) that are true
• Accessing shared memory produces less overhead than message passing.
• By their nature, message passing system calls are synchronous operations
• Writes to shared memory should be done within a critical section to protect the consistency of the data.
• IPC resources are automatically cleaned up by the operating system after all of the processes using them have terminated.
2. Circle the statements about threads that are true.
• A complete solution to the critical section problem requires mutual exclusion, progress, and bounded waiting
• Using threads may allow for continued program execution if part of a process is blocked, which is especially important for user interfaces.
• Threads share process resources which can make using them more convenient than working with IPC
• A multithreaded process can take advantage of parallelism under the one-to-one model
3. Circle the statements about filesystems that are true.
• MBR stands for Master Block Record, it is a record of all free blocks in a partition.
• In Unix file systems, directories are implemented as a special kind of file.
• Linked List allocation schemes are very efficient at random access because each block of data is stored with a pointer to the next block of data.
• If a file is opened four times by four different processes, the kernel's i-node table will contain four entries, one for each process that opened the file.
• A journaled filesystem helps with identifying and fixing filesystem inconsistencies.
4. Circle the statements about I/O that are true
• Operating systems do not allow processes to directly access I/O devices
• Disks are often represented as block devices
• A programmable interval timer generates an interrupt once its interval has lapsed. It is utilized by preemptive schedulers, like Round Robin, to preempt running processes
• An Application I/O interface provides a uniform interface for working with the wide variety of available I/O devices
5. I/O operations may be blocking, nonblocking, or asynchronous. Explain what each of these terms mean.
6. What does the system CPU do when communicating with an I/O device using programmed I/O (PIO)?
7. How does an interrupt capable I/O device improve system efficiency?
8. What is a disk partition? How do active and inactive partitions differ?
9. On a Unix/Linux filesystem, what information do i-node structures contain?
10. Unix/Linux file systems supports hard linking and symbolic (soft) linking. Explain the difference between the two kinds of links
11. What does it mean to memory map a file? What is an advantage this method has over traditional file access system calls, like open(), read(), and write()?
12. How is virtualization different than emulation? Give examples of where each approach would be used and explain why.
13. Refer to this diagram when answering the following questions:
user thread
k k k kernel thread
What threading model is shown here? In this model, if a user thread makes a blocking system call, are the other user threads able to do work while the system call is in progress? Explain.
14. Within a multithreaded process, some resources are shared amongst all of the threads. Circle the resources that are exclusive to each thread.
o Register values
o Heap
o Code
o Stack memory
15. Circle the statements that are true about paging.
• Permits the physical address space of a process to be noncontiguous
• Internal fragmentation does not contribute to inefficient memory usage
• Accessing memory requires additional overhead
• Each process sees its own, large, contiguous virtual address space, which can be greater than the system's pool of physical memory
• Multiple processes may share code or data by containing pages that map to the same memory frames.
16. During a page fault, a page may need to selected a replacement algorithm for eviction from a frame. In what way does a local replacement algorithm differ from a global replacement algorithm?
17. What are Translation Look-Aside Buffers (TLBs) and what problem do they address?
18. Refer to above diagram when answering the following questions.
a) What is the purpose of the page table?
b) What do the gray squares in the cylinder represent?
c) Explain what happens when logical memory page 4 is accessed by the process?
19. Refer to the above diagram when answering the following questions.
a) What is a working set
b) How is working set linked with the concept of process locality?
c) How do working sets explain the observed spikes in page fault rate?
d) Explain what thrashing is and its impact on system performance.
e) Does the diagram suggest a process is thrashing? Explain how the diagram does or does not indicate thrashing.
20. In the above diagram of a File Allocation Table (FAT), which disk blocks are used to store file A's data?
21. Is FAT a contiguous file allocation scheme? Explain why or why not.
Format your assignment according to the following formatting requirements:
1. The answer should be typed, double spaced, using Times New Roman font (size 12), with one-inch margins on all sides.
2. The response also include a cover page containing the title of the assignment, the student's name, the course title, and the date. The cover page is not included in the required page length.
3. Also Include a reference page. The Citations and references should follow APA format. The reference page is not included in the required page length.
Attachment:- CPSC-Assignment.rar