PURDUE CS 354 - MIDTERM STUDY GUIDE | QUESTIONS AND
ANSWERS | 2026 UPDATE | WITH COMPLETE SOLUTION
Why do we use XINU? Answer - It is small, complete, elegant, powerful, and
practical. We can also run it on real hardware, which gets rid of any work done
by VM.
What is an operating system? Answer - It provides an abstract computing
environment, supplies services, manages resources, hides low-level hardware.
What are some services an OS provides? Answer - Support for concurrent
execution, process synchronization, inter-process communication, file system,
etc.
How are OS services accessible to users? Answer - Each OS service is accessed
through a system call interface. Inside these system calls is where the internals
of the call are done. Normally a library wraps these system calls.
What is the open-close-read-write paradigm? Answer - Application uses open
to connect with file, then calls functions to read or write data, then calls close
to terminate use.
What are the two ways to achieve concurrent processing? Answer - Real
concurrency achieved by hardware (physical components operate concurrently,
CPU/IO work together).
, Apparent Concurrency achieved by multitasking (multiple programs appear to
operate simultaneously, but the OS provides this illusion).
What is a process? Answer - It is an active computation (i.e. the execution or
running of a program). It is an OS abstraction created by a system call,
managed entirely by the OS.
Note: "Processes" in XINU are more like threads, they share the same address
space but have their own stack.
What is the consequence for programmers? (Process storage) Answer - A copy
of function arguments and local variables are associated with each process
executing a particular function, not with the code in which they are declared.
What are the major OS components? Answer - Process manager, memory
manager, device manager, clock manager, file manager, interprocess
communication, intermachine communication, assessment
What is a multilayer structure? Does XINU use it? Answer - It is visible to user
and designer, each layer is used by layer directly above, provides protection as
well as data abstraction, but it can be inefficient (Ex: Internet Protocol). No,
XINU does not use it.
What is a multilevel structure? Does XINU use it? Answer - It is a form of data
abstraction, which is used during system construction. It allows designers to
focus on one thing at a time, and allows given level to use *all* lower levels.
This is quite efficient, and used by XINU.
How to build an OS? Answer - Begin with philosophy, establish policies, design
mechanisms, and construct an implementation.
ANSWERS | 2026 UPDATE | WITH COMPLETE SOLUTION
Why do we use XINU? Answer - It is small, complete, elegant, powerful, and
practical. We can also run it on real hardware, which gets rid of any work done
by VM.
What is an operating system? Answer - It provides an abstract computing
environment, supplies services, manages resources, hides low-level hardware.
What are some services an OS provides? Answer - Support for concurrent
execution, process synchronization, inter-process communication, file system,
etc.
How are OS services accessible to users? Answer - Each OS service is accessed
through a system call interface. Inside these system calls is where the internals
of the call are done. Normally a library wraps these system calls.
What is the open-close-read-write paradigm? Answer - Application uses open
to connect with file, then calls functions to read or write data, then calls close
to terminate use.
What are the two ways to achieve concurrent processing? Answer - Real
concurrency achieved by hardware (physical components operate concurrently,
CPU/IO work together).
, Apparent Concurrency achieved by multitasking (multiple programs appear to
operate simultaneously, but the OS provides this illusion).
What is a process? Answer - It is an active computation (i.e. the execution or
running of a program). It is an OS abstraction created by a system call,
managed entirely by the OS.
Note: "Processes" in XINU are more like threads, they share the same address
space but have their own stack.
What is the consequence for programmers? (Process storage) Answer - A copy
of function arguments and local variables are associated with each process
executing a particular function, not with the code in which they are declared.
What are the major OS components? Answer - Process manager, memory
manager, device manager, clock manager, file manager, interprocess
communication, intermachine communication, assessment
What is a multilayer structure? Does XINU use it? Answer - It is visible to user
and designer, each layer is used by layer directly above, provides protection as
well as data abstraction, but it can be inefficient (Ex: Internet Protocol). No,
XINU does not use it.
What is a multilevel structure? Does XINU use it? Answer - It is a form of data
abstraction, which is used during system construction. It allows designers to
focus on one thing at a time, and allows given level to use *all* lower levels.
This is quite efficient, and used by XINU.
How to build an OS? Answer - Begin with philosophy, establish policies, design
mechanisms, and construct an implementation.