Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Content for Linux Operating Systems Class

I will be TA for an operating systems class this upcoming semester. The labs will deal specifically with the Linux Kernel.

  1. What concepts/components of the Linux kernel do you think are the most important to cover in the class?
  2. What do you wish was covered in your studies that was left out?

Any suggestions regarding the Linux kernel or overall operating systems design would be much appreciated.

like image 600
Sweeney Avatar asked Jun 15 '09 14:06

Sweeney


People also ask

What do you learn in operating systems class?

This course teaches the basic operating system abstractions, mechanisms, and their implementations. The core of the course contains concurrent programming (threads and synchronization), inter process communication, and an introduction to distributed operating systems.

What does a Linux operating system consist of?

Linux® is an open source operating system (OS). An operating system is the software that directly manages a system's hardware and resources, like CPU, memory, and storage. The OS sits between applications and hardware and makes the connections between all of your software and the physical resources that do the work.


1 Answers

My list:

  1. What an operating system's concerns are: Abstraction and extension of the physical machine and resource management.
  2. How the build process works ie, how architecture specific/machine code stuff is implanted
  3. How system calls work and how modules can link up
  4. Memory management / Virtual Memory / Paging and all the rest
  5. How processes are born, live and die in POSIX and other systems
  6. userspace vs kernel threads and what the difference is between process/threads
  7. Why the monolithic Kernel design is growing tiresome and what are the alternatives
  8. Scheduling (and some of the alternative / domain specific schedulers)
  9. I/O, Driver development and how they are dynamically loaded
  10. The early stages of booting and what the kernel does to setup the environment
  11. Problems with clocks, mmu-less systems etc
  12. ... I could go on ...
  13. I almost forgot IPC and Unix 'eveything is a file' design decisions
  14. POSIX, why it exists, why it shouldn't

In the end just get them to go through tanenbaum's modern operating systems and also do case studies on some other kernels like Mach/Hurd's microkernel setup and maybe some distributed and exokernel stuff.

Give a broad view past Linux too, I recon

For those who are super geeky, the history of operating systems and why they are the way they are.

like image 188
Aiden Bell Avatar answered Sep 28 '22 16:09

Aiden Bell