The University of Alabama in Huntsville
ECE Department
CPE 434-01, CPE 534-01
Homework 1
Spring 2026
Due: 1/30/26
You must show your work where applicable to get full credit.
1. (10 points) The issue of resource utilization can manifest in different ways for different types of
operating systems. For the following system settings list what resources must be carefully
managed by the operating system:
a. Mainframe system
b. Embedded system
c. Server connected to multiple workstations
d. Mobile device (cell phone, tablet, etc.)
2. (10 points) Keeping in mind the definitions of an operating system, consider whether user
applications like web browsers or word processors should be included as part of the OS. Make
the case for both why they should and should not be.
3. (10 points) Priviledged modes of operation are not provided in hardware for some computer
systems. Is it possible to construct an operating system that is secure for these types of
computers? Make the case that it is and is not possible. Justify your answers.
4. (10 points) Achieving a layered approach within an operating system can be difficult if two
components of the OS are dependent on one another. Identify a scenario in which it is unclear
how two system components that require tight coupling of their functionalities should be
layered.
5. (10 points) How could a computer system be designed so that a user was allowed to choose
between operating systems to boot? What would the bootstrap program of the computer need
to do?
6. (10 points) The experimental operating system Synthesis includes an assembler as part of its
kernel. In the Synthesis OS, system call performance is optimized by assembling the routines
inside of the kernel space. This minimizes the path the system call has to take through the
kernel. This design approach is the opposite of the layered approach where the path through
the kernel is extended to make the implementation of the OS easier. Discuss the pros and cons
of the way in which the Synthesis OS approaches kernel design and system performance
optimizations.
7. (10 points) Run the strace utility on the Blackhawk server so that it prints out a count of all
system calls. Provide a screenshot of the output returned by strace. What was the command
you used to do this? How many times has the system call mmap been invoked?
Page 1 of 2
8. (10 points) Modern operating systems use copy-on-write (COW) for efficient process creation:
a. Explain in detail how Linux implements COW for fork().
b. Research the vfork() system call in Linux. How does it differ from fork(), and when should it
be used?
c. What is the Windows equivalent optimization when using CreateProcess() with certain
flags?
9. (10 points) Compare the Windows CreateProcess() system call to the UNIX fork()/exec(). What
are the differences in the philosophy of the design approach for these system calls?
10. (10 points) Context switching performance varies by hardware and OS design. Research how
Linux optimizes context switches on modern x86-64 processors. What role do hardware features
like XSAVE play?
Page 2 of 2