EEN521 (Operating Systems) Autumn 2006
Assignments, Series A
- (Due Sun 24th Sept, Individual work)
Basic file system, using disk system emulation implementing single simple
directory, files of potentially large sizes but contiguous allocation may be used, basic file
creation and accessing, with a way to show it works.
- (Due Mon 16th Oct, Group project)
An improved file system, with an efficient file structure, no practical limit on file sizes,
and sub-directories. Make a simple shell to show that it works interactively.
- Group demonstrations will be Tues 31st October & Thurs 2nd November.
Assignments, Series B
- (Due Thurs 26th October, Individual work)
Basic computer emulator with assembler. Able to successfully execute simple programs.
- (Due Tues 14th November, Group project)
Basic support for time-sharing to be added.
- (Due Tues 28st November, Group project)
Multi-processing with memory management.
- Presentations will be Tues 12th December starting at 5pm.
Group Presentations
- File Systems: Tues 31st October & Thurs 2nd November.
- Entire Project: Tues 12th December starting at 5pm.
Class History
- Class ¼ (24-8-2006) Cancelled for lack of electricity.
- Class ½ (29-8-2006) Cancelled for imaginary hurricane.
- Class 1 (31-8-2006) All about discs, creating a file system.
disc emulating software.
- Class 2 (5-9-2006) Creating a very basic file system.
- Class 3 (7-9-2006) Not-so-great disc organisations: Contiguous allocation, Linked lists of blocks.
- Class 4 (12-9-2006) FAT-12, FAT-16, FAT-32: An efficient kind of linked list of blocks.
- Class 5 (14-9-2006) FAT sample, Multi-level indexes introduced.
- Class 6 (19-9-2006) Sequential and Random access times for variable level index files.
The unix file system, I-nodes, the free list.
- Class 7 (21-9-2006) Memory organisation. Fortran, static pre-allocation, base pointers, recursion, the stack.
- Class 8 (26-9-2006) Base and Limit hardware for primitive multiprocessing. Privilege settings for hardware protection.
Simplistic memory management units.
- Class 9 (28-9-2006) Modern virtual memory systems, part 1.
- Class 10 (3-10-2006) Modern virtual memory systems, part 2.
- Class 11 (5-10-2006) Making a computer emulator in software.
- Class 12 (10-10-2006) Memory probing, flag bits in page table, non-resident pages, paging, swapping, page faults.
- Class 13 (12-10-2006) Processes, what is in a PCB, what it is all for.
- Class 14 (17-10-2006) Process life-cycle. init, fork, wait states, priority queues, exit, signal, stopped.
- Class 15 (19-10-2006) Processor support necessary for time-sharing.
- Class 16 (24-10-2006) Processor support necessary for virtual memory; instruction formats and operand encoding.
- Class 17 (26-10-2006) Communications: file descriptors, shared buffers, device drives, interrupts and signals.
- Class 18 (31-10-2006) File system presentations and demonstrations, first 3 groups.
- Alfonso Dager, Travis Kosteno, Adrian Rodriguez.
- Rashed Almarri, Salman Bin Said.
- Lucas Blanck, Jason Cohn, Michael Diez.
- Class 19 (2-11-2006) File system presentations and demonstrations, remaining 5 groups.
- Marta Lastra Moro, G. Martinez Martinez.
- Warren Sulcs.
- Alex Mapes, John Pierce, Hanshi Zhang.
- Class 20 (7-11-2006) File system presentations and demonstrations, remaining 2 groups. Plus getting timesharing to work.
- Wen-Wei Bruce Chou, Eric Suarez.
- Glenford Carty, Marvin Green, Kevin Michael.
- Class 21 (9-11-2006) I had laryngitis and you went home early.
- Class 22 (14-11-2006) Interprocess communications, pipes, critical regions, semaphores, P & V.
- Class 23 (16-11-2006) Deadlock, dining philosophers, resource allocation.
- Class 24 (21-11-2006) Practical memory management. Basic networks: token ring and ethernet.
- Class 25 (28-11-2006) ARP, IP, TCP, DNS, NFS.
- Class 26 (30-11-2006) Strange questions day.
Last year's class history
From the following, you can see what the class is all about, and get a good idea of what
to expect. Although you should understand that things do change from year to year, if they
didn't, we would all get very bored.
Class History 2005:
- Class 1 (25-8-2005) Cancelled by hurricane.
- Class 2 (31-8-2005) Introductions, what operating systems are all about, and what we'll be doing.
- Class 3 (2-9-2005) Assembly language; the jump in technology. All fairly conceptual stuff.
- Class 4 (6-9-2005) Memory management part 1: stack frames; using the emulator (today's demo).
- Class 5 (8-9-2005) Memory management part 2: heap and stack; calling convention; the "gets" virus vector.
- Class 6 (13-9-2005) Basic virtual memory using Base and Limit for a very few segments.
- Class 7 (15-9-2005) Hardware protection; CPU start-up; Interrupt handling.
- Class 8 (20-9-2005) Cancelled by a distant hurricane.
- Class 9 (22-9-2005) Pages: millions of tiny little segments for flexible virtual memory.
- Class 10 (27-9-2005) (corrected .login file); not being tricked by echo; the VA-to-PA function.
- Class 11 (29-9-2005) Cache and TLB; PC start-up sequence; probing memory and setting up page tables.
- Class 12 (4-10-2005) Page tables: allocation of physical and virtual pages, final part.
- Class 13 (6-10-2005) Perspective and Review, loading exe files, switching between processes.
- Class 14 (11-10-2005) Master Boot Records, Partitions, Boot Sectors, FAT-16, Clusters.
- Class 15 (13-10-2005) Overall disc formats: super blocks, free-list behaving as stack with memory window vs. bit-map.
- Class 16 (18-10-2005) OS functions supporting file system; directory format; low-level disc access methods.
- Class 17 (20-10-2005) File formats part 1.
- Class 18 (25-10-2005) Another hurricane cancellation.
- Class 19 (27-10-2005) Extra hurricane holiday.
- Class 20 (1-11-2005) File formats part 2: calculating maximum capacities and times for serial and random access.
- Class 21 (3-11-2005) Linked list of blocks; Contiguous allocation and condensing; the I-node list and file recovery.
- Class 22 (8-11-2005) Investigating "file-lets" (macintosh resource fork); Network introduction.
- Class 23 (10-11-2005) Networking: Aloha-net, ethernet, ARP, IP, UDP, TCP; network file system by redirection.
- Class 24 (15-11-2005) Network file system design; why locking files is important, but hard over a network.
- Class 25 (17-11-2005) Interrupt processing for keyboard, problem of concurrent update of shared data.
- Class 26 (22-11-2005) Device drivers communicating with processes, message queue; still the problem of shared data.
- Class 27 (29-11-2005) Constructing an interrupt driven stdio; implementing semaphores; the Dining Philosophers.
- Class 28 (1-12-2005) Making a semaphore under unix/pentium (perfected code); shared resources, the doomed region; ordering, off-lining.
- Class 29 (6-12-2005) All about processes.
- Class 30 (8-12-2005) Project Presentations, part 1.
- Class 31 (13-12-2005) Project Presentations, part 2.