MidTerm Exam Topics

  

Unix Core Philosophy & History

Inode

File I/O (lowlevel)

Fundamental use of core utilities such as cat, wc, tail, head, sort, (may need on live portion of exam)

 

awk & basic regular expressions


Compilation Process and gcc compiler (including flags)

 

Static Libraries and how to build

Benefits of shared libraries

Steps in building shared libraries

Basic concepts of make:

Macros

Targets

Dependency lists

Rules

"THE TAB"

 

Basics of Debugging:

__DATE__, __TIME__, __LINE__ macros

breakpoint (b) command

delete (d) breakpoint command

backtrace (purpose)

print (p)

 

Processes

Multiuser and Multiprocessing OS

Concurrency vs. Parallelism

user vs. kernel mode

System Call procedure

What is a process?
fork() and exec() in DETAIL (how do you create a new process, how do you run a new program in the same process?)

ELF Format (simplified)

C Language mappings to ELF segments
Basic concepts and differences of fork and exec and system

Orphan processes & solutions

Zombie processes & solutions


Pipes:
Basics of pipes and filters
Difference between named and unnamed pipes

pipe vs. popen

OS process file descriptor concepts

 

Signal Processing

What is a signal?

Reasons why one might use signals

Basic (Version 7) signal handling (signal(), kill(), psignal())

Alarms (SIGALRM)

Concepts around unreliable signals

 


EXAMPLE WRITTEN QUESTIONS:


Discuss the following system call in detail, including parameters and types and return value(s)...

What command would you use to do X...?

Which of the following statements is true about (awk...pipes...signals...etc.)

EXAMPLE LIVE QUESTIONS:


Write a short C program that handles the signal ...


Of the following data, what is the average rainfall for the state of MN over the last 30 years?  Use AWK to render your solution.


Write a simple C program that sends a message over a named pipe to another process.