EEN521 (Operating Systems) Autumn 2005
- The Official Syllabus.
- Downloads: Putty (ready to run) and other
Software to make things work
- The book
- vi editor cheat-sheets as Word .doc and as Normal HTML
- Information concerning the emulator:
- Assignments:
- The Gets Worm, report due Thursday 6th October.
(Sample (bad) report showing depth expected, in PDF format)
- File System.
You may use the emulator OR a normal unix system (such as rabbit) for this assignment,
the choice is yours. Information on how to access the necessary sys$... functions
is available here.
Preliminary due-date Tuesday 15th November: At least formatting the disc, which includes creating
the free list, empty root directory, superblock, etc. Code only.
True due-date to be announced. Will require functionality illustrated here:
creation of files, putting data in files, and reading it out again.
- Big Project: Fancy file system, Network accessible files, and Keyboard interrupts and shell. Report
due final week of semester.
- Class History:
- Class 1 (25-8-2003) Cancelled by hurricane.
- Class 2 (31-8-2003) Introductions, what operating systems are all about, and what we'll be doing.
- Class 3 (2-9-2003) Assembly language; the jump in technology. All fairly conceptual stuff.
- Class 4 (6-9-2003) Memory management part 1: stack frames; using the emulator (today's demo).
- Class 5 (8-9-2003) Memory management part 2: heap and stack; calling convention; the "gets" virus vector.
- Class 6 (13-9-2003) Basic virtual memory using Base and Limit for a very few segments.
- Class 7 (15-9-2003) Hardware protection; CPU start-up; Interrupt handling.
- Class 8 (20-9-2003) Cancelled by a distant hurricane.
- Class 9 (22-9-2003) Pages: millions of tiny little segments for flexible virtual memory.
- Class 10 (27-9-2004) (corrected .login file); not being tricked by echo; the VA-to-PA function.
- Class 11 (29-9-2004) Cache and TLB; PC start-up sequence; probing memory and setting up page tables.
- Class 12 (4-10-2004) Page tables: allocation of physical and virtual pages, final part.
- Class 13 (6-10-2004) Perspective and Review, loading exe files, switching between processes.
- Class 14 (11-10-2004) Master Boot Records, Partitions, Boot Sectors, FAT-16, Clusters.
- Class 15 (13-10-2004) Overall disc formats: super blocks, free-list behaving as stack with memory window vs. bit-map.
- Class 16 (18-10-2004) OS functions supporting file system; directory format; low-level disc access methods.
- Class 17 (20-10-2004) File formats part 1.
- Class 18 (25-10-2004) Another hurricane cancellation.
- Class 19 (27-10-2004) Extra hurricane holiday.
- Class 20 (1-11-2004) File formats part 2: calculating maximum capacities and times for serial and random access.
- Class 21 (3-11-2004) Linked list of blocks; Contiguous allocation and condensing; the I-node list and file recovery.
- Class 22 (8-11-2004) Investigating "file-lets" (macintosh resource fork); Network introduction.
- Class 23 (10-11-2004) Networking: Aloha-net, ethernet, ARP, IP, UDP, TCP; network file system by redirection.
- Class 24 (15-11-2004) Network file system design; why locking files is important, but hard over a network.
- Class 25 (17-11-2004) Interrupt processing for keyboard, problem of concurrent update of shared data.
- Class 26 (22-11-2004) Device drivers communicating with processes, message queue; still the problem of shared data.
- Class 27 (29-11-2004) Constructing an interrupt driven stdio; implementing semaphores; the Dining Philosophers.
- Class 28 (1-12-2004) Making a semaphore under unix/pentium (perfected code); shared resources, the doomed region; ordering, off-lining.
- Class 29 (6-12-2004) All about processes.
- Class 30 (8-12-2004) Project Presentations, part 1.
- Class 31 (13-12-2004) Project Presentations, part 2.