Announcements
Class notes
- Introduction
- Kernels
- Processes
- Kernel abstractions.
- Scheduling, context switch.
- Synchronization
- Interrupts and exceptions
- Memory
- Linking and loading
- Virtual memory
- Segmenting
- Demand paging and working sets.
- Swap space
- Implementations
- Memory management
- VAT, virtual address allocations.
- Buddy System
- Slab
- heap storage, e.g. malloc
- File systems
- Properties and varieties
- Disk technology, structure and partitions
- FAT: a simple file system
- UFS: unix file system
- NTFS: NT file systems
- Journaling file systems
- Log-strctured file systems
- Assigned to students:
- Network file systems: NFS
- CIFS and SMB
- Logical volume management
- RAID
- Global File Systems
- Storage area Networks
- FUSE and file system services
- Security, Privacy and Protection
- Software engineering and the development processes
Reading
- Read Chapter 1 through 3.
- Read Chapters 4, 5, 8, 9. Posted Sept 14.
- Read Chapters 10 and 11. Posted Oct 1.
Assignments
- Read the Ritchie/Thomson paper and the Lampson paper and
write an essay on either The Bigger The Better, or Small Is Beautiful.
Be prepared to discuss in class. Due: Friday, Aug 31.
- The UNIX Time-sharing System, Dennis Ritchie and Ken Thomson (1974).
(citeseer)
- Hints for Computer System Design, Butler Lampson (1983) (citeseer)
- Read about the NT Kernel. Write a two page paper comparing the Linux and NT kernels.
Due: Moday, Sep 10.
- Read Chapter 3. Add the notnice system call to the linux kernel.
Due: Monday, Sep 17.
- Write a short paper on the history of virtual memory. When was it first used?
Who invented it? When did Unix, DOS, Windows, Windows NT, and the Apple
operating systems use it? Distinguish between swapping and paging, if
there is a distinction.
Due: Monday, 15 Oct.
- Write a program that dissects the page tables.
Due: 5 Nov.
more>>>
-
Class presentation of file system topic.
Due: 7 and 9 November.
-
- Design a FAT file system and implement it in Linux using FUSE.
Hint: fastfat.c
Due as final exam.
-
Design a protection mechanism that allows subjects to grant to other
subjects access permissions on objects. The mechanism targets web-apps,
that is, be based on http GET and POST, and client cookies.
References