~~NOTOC~~ ====== CS 438/505 - Operating Systems Analysis ====== Semester: Fall 2013 ---- ===== Information / Announcements ===== * [[http://rockhopper.monmouth.edu/~jchung/cs438/fa13/final/final.txt|Final exam]] scheduled for Tue, 12/17/2013, 07:45PM - 09:45PM, HH-310 * Material up to and including Memory Management will be covered. * Will focus more on second half of semester material * C programming will be included. * You will need to be able to start your Intel-based Android Virtual Device in the lab during the exam. * Expect true-false, multiple choice and short written answer format. * About 30 questions ----- ===== Notes ===== * [[CS-438 Introduction | Introduction]] (Updated: 9/3) * [[http://rockhopper.monmouth.edu/~jchung/cs438/resources/c/CShortCourse1.pdf|C for Java Programmers (PDF)]] * [[CS-438 Computer Architecture Overview | Computer Architecture Overview]] (Updated: 9/5) * [[CS-438 OS Evolution | OS Evolution]] (Updated: 9/5) * [[CS-438 Modern OS Structures | Modern OS Structures]] (Updated: 9/12) * [[CS-438 Modern OS Abstractions | Modern OS Abstractions]] (Updated: 9/12) * [[CS-438 Processes and Address Spaces | Processes and Address Spaces]] (Updated: 9/24) * [[CS-438 System Calls | System Calls]] (Updated: 10/3) * Also read: * [[http://www.cs.berkeley.edu/~brewer/cs262/unix.pdf|The UNIX Time-Sharing System]], Dennis M. Ritchie and Ken Thompson, Bell Laboratories, 1974 (PDF version) * [[http://www.ibm.com/developerworks/linux/library/l-system-calls/|Kernel command using Linux system calls]], M. Tim Jones, IBM developerWorks Technical Library, 2010 * [[http://www.win.tue.nl/~aeb/linux/lk/lk-4.html|System Calls, The Linux kernel]], Andries Brouwer, aeb@cwi.nl, 2003 * [[http://articles.manugarg.com/systemcallinlinux2_6.html|SYSENTER Based System Call Mechanism in Linux 2.6]], Manu Garg * [[CS-438 Signals, Shared Memory and IPC | Signals, Shared Memory and IPC]] (Updated: 10/8) * Also read (on the Android IPC model): * http://www.angryredplanet.com/~hackbod/openbinder/docs/html/BinderIPCMechanism.html * [[http://www.nds.rub.de/media/attachments/files/2012/03/binder.pdf|http://www.nds.rub.de/media/attachments/files/2012/03/binder.pdf]] * [[CS-438 Threads | Threads]] (Updated: 10/24) * [[CS-438 Linux Processes | Linux Processes]] (Updated: 11/5) * [[CS-438 Linux Interrupts | Linux Interrupts]] (Updated: 11/7) * [[CS-438 Synchronization | Synchronization with Locks]] (Updated: 11/14) * [[CS-438 Synchronization2 | Synchronization with Semaphores and Monitors]] (Updated: 11/21) * [[CS-438 Scheduling and Deadlock | Scheduling and Deadlock]] (Updated: 12/2) * [[CS-438 Memory Management | Memory Management]] (Updated: 12/10) * [[CS-438 File Systems | File Systems]] (Updated: 12/10) ---- ===== Tasks ===== * [[CS-438 Set up virtual Android environment|Set up virtual Android environment]] * [[CS-438 Compile and run the Android goldfish kernel|Compile and run the Android goldfish kernel]] * [[CS-438 Compile and run the Android goldfish kernel for Intel x86|Compile and run the Android goldfish kernel for Intel x86]] * [[CS-438 Compile and run simple C programs on your Android AVD|Compile and run simple C programs on your Android AVD]] * [[CS-438 Writing your own UNIX shell|Writing your own UNIX shell]] * [[CS-438 List of Assignments|List of assignments]] (Updated: 12/2) ---- ===== Links and Resources ===== ----