DIPLOMA IN INFORMATION TECHNOLOGY MODULE LEARNING GUIDE OPERATING SYSTEM Version 1: May 2007 Olympia College 1. Diploma in Information Technology INTRODUCTION This module is intended for students in the intermediate stages of the Diploma in Information Technology program. It is to provide students with a basic understanding of the concepts and application of operating system. During the past several decades, computing has evolved at an unprecedented pace. Computer power continues increase at phenomenal rates as costs decline dramatically. Today, computer users have desktop workstations that execute billions of instructions per second and supercomputers that execute over a trillion instructions per second have been built, numbers that just a few years ago were inconceivable. Processors are becoming so inexpensive and powerful that computers can be employed in almost every aspect of our lives. On personal computers, users can edit documents, play games, listen to music, watch videos and manage their personal finances. Portable devices, including laptop computers, personal digital assistant, cell phones and MP3 players all have computers as key components. Wireless and wired network architectures are increasing our interconnectivity allow users to communicate instantly over vast distances. The internet and World Wide Web have revolutionized business, creating demand for networks of large, powerful computers that service vast numbers of transactions per second. Networks of computers have so powerful that they are used to conduct complex research and simulation projects, such as modeling the Earth’s climate, emulating human intelligence and constructing lifelike 3D animations. Such pervasive and powerful computing is reshaping the roles and responsibilities of operating system. 2. AIMS Through this subject students are exposed to the important concepts that are dealt with the design of the operating system. This subject will enable the student to understand the different types of processing that are taking place with in the central processing unit, students will get an in-department knowledge in memory management, concurrent and distributed programming. In addition students will also gain knowledge in real storage and disk performance and optimization. Students will also gain experience in using different operating systems and interfaces. Students will also be introduced to the Linux Operating through lab sessions and application of various operating system concepts. 3. OVERVIEW OF THE SYLLABUS: The module is organised into three major learning sections as outlined below: 3.1. SECTION 1: Introduction This section starts with a basic overview of operating system and explores different types of operating systems. 3.2. SECTION 2: Concepts and Fundamentals This is the core section of this module which comprises the operating system fundamentals (as covered in weekly lecture topics). You will have practical lab sessions (for selected topics) to apply the principles covered in the module. 3.3. SECTION 3: Case Study: Linux This section explores the Linux operating system environment and develops a basic understanding of Linux operations, terminologies, standards and concepts. You will also have sample programming and application walkthroughs to examine its use in real-time scenario and applications. 4. LEARNING OUTCOMES On completion of this module, students will be able to: Process Concept Understand memory management Understanding concurrent programming Understand distributed programming using super computer Understand the disk performance optimization File and Database System Understand the Operating System Security 5. AUDIENCE AND PRE-REQUISITES This module is for students who are in the intermediate stages of the Diploma program. There is no prerequisite set for this module. 6. LEARNING MATERIALS: Indicative Readings: a. Operating System H.M.Deitel, P.J. Deitel, D.R. Choffnes 2004 by Pearson Prentice Hall, ISBN 013-124696-8 Mod Learning Guide: Operating Systems 2 Olympia College b. c. d. e. f. g. h. 7. Diploma in Information Technology Nutt Gary, Operating System: A Modern Prospective, Addison Wesley Stalling, William, Operating Systems, 2nd ed., International Thomson publishing Dhamdhere, D.M., Systems Programming and Operating Systems, 2 nd ed., McGraw Hill Tanenbuan, Andrew S, Modern Operating Systems, Prentice Hall. Ebooks: Linux from scratch: http://tldp.org/LDP/lfs/LFS-BOOK-6.1.1.pdf Linux tutorials: http://www.tutorialdownloads.com/tutorials/LINUX/linux-booksshelf1.html Internet Resources: http://www.iu.hio.no/~mark/os/os.html http://physinfo.ulb.ac.be/cit_courseware/opsys/ostart.htm http://www.cs.fsu.edu/~jtbauer/cop4610/lectures.html http://en.wikipedia.org/wiki/Process_(computing) – Practice Exercises http://www.personal.kent.edu/~rmuhamma/OpSystems/os.html http://srl.cs.jhu.edu/courses/600.418/2004.spring.syllabus.html Linux Resources: http://www.linux-tutorial.info/modules.php?name=Linux_Topics http://www.redhat.com/docs/manuals/ http://www.comptechdoc.org/os/linux/usersguide/ http://linux.topdome.com/?gclid=CKPtpLzY_4oCFQ-WbgodWi6yKA http://www.lowfatlinux.com/#INTRO ASSESSMENT INSTRUMENTS: The following is an outline of the various assessment instruments for this module: 7.1. ASSIGNMENT (20%) An individual assignment will be given to the student on the first week and will have to be returned no later than week 10. Should the student fail to submit his/her assignment on week 10, the result will automatically be Zero. 7.2. PRESENTATION (20%) The students need to present their assignment on week 10 in the form of a PowerPoint presentation or any other presentation tools. Marks will be awarded based on the quality of the presentation, language etc 7.3. FINAL EXAMINATION (60%) Final Examination is included in this module. It seeks to determine participants’ individual effectiveness in responding to specific questions under time-constrained invigilated conditions. The examination is a closed book examination, requesting participants to demonstrate their knowledge and critical analysis skills in responding to questions covering the module syllabus. 7.4. ASSESSMENT TIMELINES The coursework assignment is to be distributed to students by the end of Week 1 and its submission deadline is no later than week 10. Presentation will be held no later than week 10. Final examinations will be held at the end of the semester, which is on week 15 7.5. ASSESSMENT CRITERIA Refer to assignment and final examination marking guide. 7.6. ASSESSMENT DESCRIPTOR The following general principles should be used when marking and awarding grade: Grade Characteristics Above 70% 60-69% Excellent work which demonstrates that the student: Possesses an authoritative grasp of the concepts, methodology and content appropriate to the subject and to the assessment Selects and organises material with consistent success at an exceptionally high stage Is able to display originality and personal insight and is capable of expressing their argument clearly, concisely and accurately. The student demonstrates: An above average stage of understanding, organising, interpretation and a clear grasp of methodology suitable focused on the topic An ability to synthesise material and to construct responses which reveal Mod Learning Guide: Operating Systems 3 Olympia College Diploma in Information Technology 50-59% 40-49% < 40% insight and may offer originality A grasp of material that enables a coherent response to the assessment task to emerge An ability to generate work that is accurate and appropriately organised. The student is able to cover basic subject matter but in a relatively unimaginative and pedestrian manner. Organisation and presentation of material is acceptable but may display some weakness. Limitations in understanding and interpretation and difficulty in linking to relevant material may be evident. The student’s performance is only just acceptable in most respects revealing some inadequacies in the grasp of material, weak organising ability and limited communication skills. The student’s performance is deficient revealing inadequate grasp of material, poor organising ability and poorly developed communication skills. 8. TOTAL HOURS: 49 hours of direct lecture & tutorial sessions selected hours of lab sessions 150 hours of self and independent study 9. INSTRUCTIONAL PLAN AND RESOURCES The base source of material to be used in the design of the teaching-learning schedule will be the print based module material provided to both staff and students. Other resources will be included to supplement and fill in gaps especially latest development or recent changes which are obviously not found in the module material. Mod Learning Guide: Operating Systems 4 Olympia College Diploma in Information Technology CLASS TEACHING SCHEDULE WEEK 1 LECTURE Introduction to Operating System TUTORIALS / ACTIVITIES Tutorials: What is an Operating System? What limited the size and capabilities of programs in the 1960’s? How did the ARPA net differ from traditional computer networks? What was its primary benefit? Describe the advantages and disadvantages of virtual machines. Why is it dangerous to allow users to perform read or write operations to any region of disk it will? Define, compare and contrast each of the following terms: a. Online b. Real time c. Interactive computing d. Timesharing Self Assessment: What are the primary purposes of an operating system? How did interactive computing and its improvement in turnaround time increase programmer productivity? What are some of the benefits of open-source development? Evaluate monolithic, layered and microkernel architectures according to a. Efficiency b. robustness c. extensibility d. security 2 Hardware and Software Concepts Tutorials: What is the primary function of the main board? Why are the BIOS crucial to the Operating System? What is the difference between persistent and volatile storage media? Compare and contrast CDs and DVDs. Consider the following types of programming languages. a. Machine language b. Assembly language c. High-level language d. Object-oriented programming language e. Structured programming language Self Assessment: Distinguish between hardware, software and firmware. Compare and contrast USB and Fire Wire. Why should the operating system prevent users from accessing the boot sector? How does caching improve system performance? Describe two different techniques for handling the communications between a processor and devices. What is the difference between compiling and assembling? 3 Process Concepts Mod Learning Guide: Operating Systems Tutorials: Give several definitions of process. Why is a process’s address space divided into multiple regions? In what three ways can a process get to the suspended ready state? Why are the locations of interrupt handlers generally not stored 5 Olympia College Diploma in Information Technology in a linked list? What is the major drawback of using signals for IPC? Discuss briefly the process of suspend and resume. Self Assessment: What is the difference between processes that are awake and those that are asleep? What does it mean for an interrupt to be synchronous? Why do distributed systems rely on message passing instead of signals? Explain the life cycle of a process. 4 Real Memory Organisation and Management Tutorials: When is it appropriate for a memory manager to minimize wasted memory space? How does a program executing a loop benefit from cache memory? Explain the variable partition multiprogramming? Describe two techniques to reduce external fragmentation in variable partition multiprogramming systems. When is noncontiguous preferable to contiguous memory allocation? Discuss the types of fetch strategies. Self Assessment: When is noncontiguous preferable to contiguous memory allocation? Describe costs and benefits of overviews. Why are system calls necessary for an operating system? Explain the difference between internal fragmentation and external fragmentation. Explain in detail about memory placement strategies. 5 Virtual Memory Organisation Mod Learning Guide: Operating Systems Tutorials: Why is increasing the size of main memory an insufficient solution to the problem of limited memory space? Explain the various techniques used for mapping virtual addresses to physical addresses under paging. Explain the difference between a process’s virtual address space and the system’s physical address space. Why might it be difficult to implement page sharing when using inverted page tables? How does segmentation differ from variable partition multiprogramming? Discuss the similarities and differences between paging and segmentation. Self Assessment: Discuss the various hardware features useful for implementing virtual memory systems. Discuss the benefits and drawbacks of using a multilevel paging system instead of a direct paging system. Compare and contrast inverted page tables to direct mapped page tables in terms of memory efficiency and address translation efficiency. What special purpose hardware is required to implement memory protection keys? Compare and contrast pure segmentation with segmentation/paging combined 6 Olympia College 6 Virtual Memory Management Diploma in Information Technology Tutorials: Does locality favor anticipatory paging or demand paging. Explain Why is space time product of demand paging higher than that of anticipatory paging? What other factor complicates replacement strategies on system that use pure segmentation? Which page replacement strategy incurs more execution overhead? Discuss the goal of each of the following memory management strategies in the context of virtual memory systems with paging. a. Fetch strategy b. Placement strategy c. Replacement strategy Self Assessment: Explain why memory management in pure segmentation system is quite similar to memory management in variable partition multiprogramming systems. List several reasons why it is necessary to prevent certain pages from being paged out of main memory. Tutorials: What problem might occur if a priority queue were used for a condition variable? Compare and contrast the use of monitors and semaphore operations. Name the two situations in which a circular buffer is less efficient than a single value buffer in the producer/consumer relationship. How do condition variables differ from conventional variables? Does it make sense to initialize condition variables? Why must a thread wait for a resource outside a monitor? 7 8 Concurrent Programming Distributed System Self Assessment: What is the difference between signal-and-continue monitors and signal and exit monitors? Which type does Java use? Why is it considerably more difficult to test, debug and prove programs correctness for concurrent programs than for sequential programs? What problem might occur if a priority queue were used for a condition variable? How does a monitor prevent multiple threads from concurrently executing inside the monitor? Tutorials: What are some benefits of a distributed system? Why is a distributed system more likely to suffer faults than a single machine? State how network operating systems differ from distributed operating systems. Explain how client/server communication model works. What advantage does CORBA have over RMI? Distinguish FIFO broadcast, casual broadcast and atomic broadcast. Self Assessment: What makes distributed systems complex and difficult to implement and manage? Give examples of poor state information design. Why do distributed systems need middleware? Mod Learning Guide: Operating Systems 7 Olympia College Diploma in Information Technology List several problems with RPC. Explain how RPC works. Explain the differences between process migration and process cloning. Tutorials: Why are disks more appropriate than tapes for secondary storage? Which characteristics of disk geometry are most important to seek optimization and rotational optimization? Compare the overhead incurred by SSTF and FCFS. Compare the throughput of C-SCAN with that of SCAN. Why is sector queuing easy to implement? How do defragmentation and disk reorganization improve performance? 9 10 Disk Performance Optimisation File and Database System 1 Self Assessment: What are the essential goals of disk scheduling? Why is each important? Why is minimizing the variance of response times an important goal in disk scheduling? Compare and contrast FSCAN and N-Step SCAN. What are the trade-offs when selecting the size of the system’s disk cache buffer? Why might data compression techniques become more practical in the future? Tutorials: Compare physical records to logical records. Discuss the responsibilities of file system. Define path. Explain briefly the types of file organization. What is the primary disadvantage of linked-list noncontiguous file allocation? Self Assessment: Describe the difference between hard-link and soft-link. Explain the benefits of using a contiguous file allocation scheme. How is tabular file allocation more efficient than linked list file allocation? 11 File and Database System 2 Tutorials: Why is file access control necessary? Explain the classification of file access? Compare and Contrast queued access methods and basic access methods. Explain the differences between logging and shadow paging. What is the primary advantage to having each client in a distributed file system also be a server? Self Assessment: Compare and contrast logical backups and physical backups. Why is security extremely important in database systems? Explain the advantages of database system? Why should operating systems generally avoid direct support for database systems? Mod Learning Guide: Operating Systems 8 Olympia College Diploma in Information Technology Tutorials: What is the difference between security and protection? What is the primary weakness of restricted algorithms? Discuss the common authentication methods. Define the term biometrics. Explain the classification of viruses. List several techniques crackers use to penetrate systems. 12 13 Security 1 Security 2 Self Assessment: Discuss the advantages and disadvantages of secret-key cryptography? Define smart card. How might MAC be more secure than DAC? How does worm differ from viruses? How are DNS attacks harmful? What is firewall? Tutorials: Discuss the five fundamental requirements for a successful secure transaction. Why are public key algorithms employed to exchange secret keys? Compare and contrast steganography and cryptography. Give brief definitions of each of the following terms. a. Cryptography b. Data Encryption Standard c. Cipher text d. Eavesdropper e. Cryptanalysis Self Assessment: Discuss how digital signature works? Why do companies often choose VPNs over private WANs? What properties of wireless devices introduce challenges when implementing secure wireless communication? Give brief definitions of each of the following terms a. Public key system b. Public key c. Private key d. Digital signature Documentation and operations manual: Explore and familiarise with the Linux environment http://www.comptechdoc.org/os/linux/usersguide/ (user guide) http://tldp.org/LDP/Linux-Dictionary/Linux-Dictionary.pdf (Linux dictionary) 14 Case Study: Linux Tutorials: Examine and conduct tutorial questions on various topics from the following website http://www.linux-tutorial.info/modules.php?name=Linux_Topics http://www.yolinux.com/TUTORIALS/ http://www.linux-tutorial.info/modules.php?name=Tutorial&pageid=7 Tutorial segments Linux Basics Topics (http://www.lowfatlinux.com/linux-basics.html) Living in a Shell Root and Other Users Virtual Consoles Logoff and Shutdown Choosing a Shell Mod Learning Guide: Operating Systems 9 Olympia College Diploma in Information Technology The Command Prompt Wildcards Command History Aliases Redirection Pipelines Processes Stopping a Program Environment Variables Linux Files (http://www.lowfatlinux.com/linux-files.html) The Linux File System Linux File Names Linux Directories Directory Terminology Navigating the File System Listing Linux Files Displaying Linux Files Copying and Renaming Files Creating Files and Directories Deleting Files and Directories Linux Files - Wildcards The Nine Deadly Keystrokes Linux File Permissions Changing File Permissions Linux Commands (http://www.lowfatlinux.com/linux-commands.html) Important Linux Commands Changing Your Password Switching Users Who is Logged In? Date and Time The Echo Command Spell Checking Printing Linux Files Joining Files Searching for Files Comparing Files Task Scheduling Linking Files Linux Shell Scripting (http://www.lowfatlinux.com/linux-shellscript.html) (http://www.freeos.com/guides/lsst/) Linux Shell Scripts Executing a Script Shell Script Variables Shell Script Logic Shell Script Looping Shell Script Debugging Workshop Practice: Hand-on practice on scripting, case studies, installation and configuration http://home.edu.helsinki.fi/~jsilvone/Linux/vaden.pdf http://www.lynuxworks.com/support/courses/embedded-linux.php Mod Learning Guide: Operating Systems 10 Olympia College Diploma in Information Technology TEACHING SUGGESTIONS AND GUIDELINES WEEK 1 Over the week of lecture and tutorial, the focus will be to undertake the following: Introduction to Operating System Explore various types of Operating Systems Learning outcomes to attain: Introduction History of OS Core OS components Goals of OS OS architectures Readings and preparation to be undertaken by the student: a. Page 6 - 39 from the Main reference text. b. Main reference text namely: Operating System H.M.Deitel, P.J. Deitel, D.R. Choffnes 2004 by Pearson Prentice Hall, ISBN 0-13-124696-8 c. Visit the following websites for better understanding and study aids Topical references: http://courses.cs.vt.edu/~csonline/OS/Lessons/Introduction/index.html http://www.cs.fsu.edu/~jtbauer/cop4610/lectures/ch1/ http://www.howstuffworks.com/operating-system.htm WEEK 2 Over the week of lecture and tutorial, the focus will be to undertake the following: To understand the hardware and software concepts Learning outcomes to attain: Evolution of hardware devices Hardware Components Caching Hardware support for operating system Caching and Buffering Software Overview Readings and preparation to be undertaken by the student: a. Page 56 - 83 from the Main reference text. b. Main reference text namely: Operating System H.M.Deitel, P.J. Deitel, D.R. Choffnes 2004 by Pearson Prentice Hall, ISBN 0-13-124696-8 c. Visit the following websites for better understanding and study aids Topical references: http://course.cs.ust.hk/comp252/web06/notes/Hardware-Software-Concepts-6.pdf http://www.cs.nmsu.edu/~jinghe/CS474/474Spring2007/Lectures/ch2.ppt Mod Learning Guide: Operating Systems 11 Olympia College Diploma in Information Technology WEEK 3 Over the week of lecture and tutorial, the focus will be to undertake the following: To understand the process concepts Learning outcomes to attain: The concept of a process The process life cycle Process states and state transition Process control blocks Processor transition between processes via context switching Hardware enables to communicate with software Readings and preparation to be undertaken by the student: a. Page 109 - 130 from the Main reference text. b. Main reference text namely: Operating System H.M.Deitel, P.J. Deitel, D.R. Choffnes 2004 by Pearson Prentice Hall, ISBN 0-13-124696-8 c. Visit the following websites for better understanding and study aids Topical references: http://en.wikipedia.org/wiki/Process_(computing) http://www.utdallas.edu/~ilyen/course/os/notes/process_eg.htm - process state transition programming example http://en.wikipedia.org/wiki/Process_control_block http://www.cim.mcgill.ca/~franco/OpSys-304-427/lecture-notes/node7.html http://www.cs.jhu.edu/~yairamir/cs418/os2/sld007.htm http://www.cs.auckland.ac.nz/compsci340s2c/lectures/lecture06.pdf http://en.wikipedia.org/wiki/Context_switch http://www.bellevuelinux.org/context_switch.html http://en.wikipedia.org/wiki/Inter-process_communication WEEK 4 Over the week of lecture and tutorial, the focus will be to undertake the following: To understand real memory organisation and management Learning outcomes to attain: Memory organization Memory Hierarchy Memory Management Strategies Contiguous Vs Noncontiguous Memory allocation Fixed and Variable partition Multiprogramming Memory Placement Strategies Readings and preparation to be undertaken by the lecturer: a. Page 379 - 404 from the Main reference text. b. Main reference text namely: Operating System H.M.Deitel, P.J. Deitel, D.R. Choffnes 2004 by Pearson Prentice Hall, ISBN 0-13-124696-8 c. Conduct all activities as found in the module materials. Conduct the chapter test on the completion of the classes. d. Assign further readings and activities to students based on the main reference text or activities from the module materials. Mod Learning Guide: Operating Systems 12 Olympia College e. Diploma in Information Technology Visit the following websites for better understanding and study aids Topical references: http://www.akaas.net/articles/real-memory-organization.htm http://courses.cs.vt.edu/~cs3204/spring2004/Notes/OS3e_09.pdf http://www.augustana.ca/~mohrj/courses/2006.fall/csc250/slides/PDFChap09.pdf http://www.cs.stevens.edu/~quynh/courses/cs492-notes/memory_management.ppt http://www.cs.nott.ac.uk/~acc/g53ops/lecture07.pdf WEEK 5 Over the week of lecture and tutorial, the focus will be to undertake the following: To understand virtual memory organisation Learning outcomes to attain: Concept of virtual memory Paged virtual memory system Segmented virtual memory system Combined segmentation Sharing and protection in virtual memory systems Readings and preparation to be undertaken by the student: a. Page 413 - 459 from the Main reference text. b. Main reference text namely: Operating System H.M.Deitel, P.J. Deitel, D.R. Choffnes 2004 by Pearson Prentice Hall, ISBN 0-13-124696-8 c. Visit the following websites for better understanding and study aids Topical references: http://www.cis.udel.edu/~sunshine/courses/F05/CIS662/class23.pdf http://en.wikipedia.org/wiki/Virtual_memory http://searchstorage.techtarget.com/sDefinition/0,,sid5_gci213300,00.html http://citeseer.ist.psu.edu/bensoussan72multics.html http://i30www.ira.uka.de/teaching/coursedocuments/19/2.1VirtMem.ppt http://www.cs.umass.edu/~weems/CmpSci535/Discussion21.html http://thns.tsinghua.edu.cn/jsj00004/Chap8.ppt WEEK 6 Over the week of lecture and tutorial, the focus will be to undertake the following: To understand virtual memory management Learning outcomes to attain: Locality Demand paging Anticipatory paging Page replacement Page-replacement strategies Readings and preparation to be undertaken by the student: a. Page 479 - 494 from the Main reference text. b. Main reference text namely: Operating System H.M.Deitel, P.J. Deitel, D.R. Choffnes 2004 by Pearson Prentice Hall, ISBN 0-13-124696-8 c. Visit the following websites for better understanding and study aids Topical references: http://www.cs.virginia.edu/~cs333/notes/virtualmemory.pdf http://www.cs.mun.ca/~paul/cs3725/material/web/notes/node11.html http://www.linuxhq.com/guides/TLK/mm/memory.html (Linux) Mod Learning Guide: Operating Systems 13 Olympia College Diploma in Information Technology http://www.sm.luth.se/csee/courses/smd/149/05-06/l5-6.pdf http://comsci.us/os/notes/ch11.html http://www.ece.uci.edu/~jinfengl/course/ECE231_Project_Summary.pdf http://course.cs.ust.hk/comp252/web06/notes/VMmanagement-1.pdf http://course.cs.ust.hk/comp252/web06/notes/VMmanagement.pdf WEEK 7 Over the week of lecture and tutorial, the focus will be to undertake the following: To understand concurrent programming Learning outcomes to attain: How monitors synchronize access to data How condition variables are used with monitors Solutions for classic problems in concurrent programming such as readers and writers and circular buffer Java monitors Remote procedure calls Readings and preparation to be undertaken by the student: a. Page 245 - 260 from the Main reference text. b. Main reference text namely: Operating System H.M.Deitel, P.J. Deitel, D.R. Choffnes 2004 by Pearson Prentice Hall, ISBN 0-13-124696-8 c. Visit the following websites for better understanding and study aids Topical references: http://en.wikipedia.org/wiki/Concurrent_programming http://www.cacs.louisiana.edu/~mgr/404/burks/pcinfo/progdocs/plbook/concurre.htm (case studies) http://g.oswego.edu/dl/cpj/index.html (Java programming) http://www.imit.kth.se/courses/2G1915/ (course literature) http://en.wikipedia.org/wiki/Monitor_(synchronization) http://www.cs.berkeley.edu/~duan/teaching/cs162-fa04/sp02/L08.pdf http://www.mozilla.org/projects/nspr/reference/html/prcvar.html http://www.cs.gmu.edu/cne/modules/ipc/pink/swmon.html WEEK 8 Over the week of lecture and tutorial, the focus will be to undertake the following: To understand distributed system Learning outcomes to attain: The need for distributed computing Fundamental properties and desirable characteristics of distributed system Remote communication in distributed system Synchronization, mutual exclusion and deadlock in distributed system Examples of distributed operating system Readings and preparation to be undertaken by the student: a. Page 783 - 796 from the Main reference text. b. Main reference text namely: Operating System H.M.Deitel, P.J. Deitel, D.R. Choffnes 2004 by Pearson Prentice Hall, ISBN 0-13-124696-8 c. Visit the following websites for better understanding and study aids Topical references: http://en.wikipedia.org/wiki/Distributed_computing Mod Learning Guide: Operating Systems 14 Olympia College Diploma in Information Technology http://portal.acm.org/citation.cfm?id=807664 http://joung.im.ntu.edu.tw/teaching/distributed_systems/2000/introduction.pdf http://www.cse.ohio-state.edu/~lauria/cse760/index.html http://www.nd.edu/~isis/techreports/isis-99-007.pdf http://people.engr.ncsu.edu/efg/501/sum00/lectures/links.html http://www.cs.helsinki.fi/u/kerola/rio/pdf/lu12_p6.pdf WEEK 9 Over the week of lecture and tutorial, the focus will be to undertake the following: To understand disk performance optimization Learning outcomes to attain: How disk input/output is accomplished The importance of optimizing disk performance Seek optimization and rotational optimization Various disk scheduling strategies Caching and buffering Other techniques Readings and preparation to be undertaken by the lecturer: a. Page 528 - 551 from the Main reference text. b. Main reference text namely: Operating System H.M.Deitel, P.J. Deitel, D.R. Choffnes 2004 by Pearson Prentice Hall, ISBN 0-13-124696-8 c. Conduct all activities as found in the module materials. Conduct the chapter test on the completion of the classes. d. Assign further readings and activities to students based on the main reference text or activities from the module materials. e. Visit the following websites for better understanding and study aids Topical references: http://www.csd.uwo.ca/~katchab/pubs/acos2006.pdf http://stevezero.com/eecs/cs162_fa03/IOOptimization.pdf http://math.arizona.edu/~lega/485-585/Spring05/Burkhard02.pdf http://www.sm.luth.se/csee/courses/smd/149/05-06/l6-6.pdf http://www.cs.jhu.edu/~yairamir/cs418/os8/sld022.htm http://courses.cs.vt.edu/~cs3204/spring2004/Notes/OS3e_12.pdf http://www.cs.tcd.ie/~dondiop/teaching/disk_io.ppt WEEK 10 Over the week of lecture and tutorial, the focus will be to undertake the following: To understand file and database systems 1 Learning outcomes to attain: Data Hierarchy File Systems File Organization File Allocation Readings and preparation to be undertaken by the student: a. Page 586 - 602 from the Main reference text. b. Main reference text namely: Operating System H.M.Deitel, P.J. Deitel, D.R. Choffnes 2004 by Pearson Prentice Hall, ISBN 0-13-124696-8 c. Visit the following websites for better understanding and study aids Topical references: Mod Learning Guide: Operating Systems 15 Olympia College Diploma in Information Technology http://en.wikipedia.org/wiki/Data_hierarchy http://en.wikipedia.org/wiki/File_system http://tldp.org/HOWTO/Filesystems-HOWTO.html http://www.ib-computing.com/program/topic_7/index.html http://www.heinemann.co.uk/shared/Resources/NonSecure/00000000/alcom_sample.pdf http://www.easydesksoftware.com/fat.htm http://home.no.net/tkos/info/fat.html WEEK 11 Over the week of lecture and tutorial, the focus will be to undertake the following: To understand file and database systems 2 Learning outcomes to attain: File Access Control Data Access Techniques Data Integrity Protection File Servers and Distributed Systems Database Systems Readings and preparation to be undertaken by the student: a. Page 610 - 623 from the Main reference text. b. Main reference text namely: Operating System H.M.Deitel, P.J. Deitel, D.R. Choffnes 2004 by Pearson Prentice Hall, ISBN 0-13-124696-8 c. Visit the following websites for better understanding and study aids Topical references: http://msdn2.microsoft.com/en-us/library/ms978388.aspx http://www.unet.univie.ac.at/aix/aixuser/usrosdev/access_control_list.htm http://www.itl.nist.gov/div897/staff/barkley/titleissues/node20.html http://en.wikipedia.org/wiki/Data_integrity http://technet2.microsoft.com/WindowsServer/en/library/b3754814-f865-4200-9ae966785e5e87c81033.mspx?mfr=true http://portal.acm.org/citation.cfm?id=3873&coll=portal&dl=ACM http://infolab.stanford.edu/~ullman/dscb.html WEEK 12 Over the week of lecture and tutorial, the focus will be to undertake the following: To understand security concepts (Part 1) Learning outcomes to attain: Cryptography Authentication Access control Security Attacks Attack Prevention and Security Solutions Readings and preparation to be undertaken by the student: a. Page 872 - 903 from the Main reference text. b. Main reference text namely: Operating System H.M.Deitel, P.J. Deitel, D.R. Choffnes 2004 by Pearson Prentice Hall, ISBN 0-13-124696-8 c. Visit the following websites for better understanding and study aids Topical references: http://en.wikipedia.org/wiki/Cryptography http://world.std.com/~franl/crypto.html Mod Learning Guide: Operating Systems 16 Olympia College Diploma in Information Technology http://www.garykessler.net/library/crypto.html http://httpd.apache.org/docs/1.3/howto/auth.html http://www.objs.com/survey/authent.htm http://en.wikipedia.org/wiki/Access_control http://www.comptechdoc.org/independent/security/recommendations/secattacks.html http://www.radware.com/content/solutions/application-security/Default.asp http://www.juniper.net/solutions/literature/white_papers/200055.pdf (whitepaper) WEEK 13 Over the week of lecture and tutorial, the focus will be to undertake the following: To understand security concepts (Part 2) Learning outcomes to attain: Secure Communications Key Agreement Protocols Public key infrastructure, Certificates and Certificate Authorities Secure Communication protocols Steganography Readings and preparation to be undertaken by the student: a. Page 907 - 921 from the Main reference text. b. Main reference text namely: Operating System H.M.Deitel, P.J. Deitel, D.R. Choffnes 2004 by Pearson Prentice Hall, ISBN 0-13-124696-8 c. Visit the following websites for better understanding and study aids Topical references: http://en.wikipedia.org/wiki/Secure_communication http://en.wikipedia.org/wiki/Key_agreement http://www.answers.com/topic/key-agreement-protocol http://en.wikipedia.org/wiki/Public_key_infrastructure http://en.wikipedia.org/wiki/Steganography WEEK 14 Over the week of lecture and tutorial, the focus will be to undertake the following: To understand standards and concepts of Linux Operating System To analyse sample application and case studies in Linux environment Learning outcomes to attain: Gain knowledge of basic operations using Linux Readings and preparation to be undertaken by the student: a. Page 942 – 948 (Introduction, User Interface, standards), 972 – 977 (Virtual File System), 981 – 988 (I/O Management), 998 – 1002 (locks, IPC, signal), 1005 – 1007 (shared memory), 1008 – 1011 (networking) and 1014 – 1016 (security) from the Main reference text b. Main reference text namely: Operating System H.M.Deitel, P.J. Deitel, D.R. Choffnes 2004 by Pearson Prentice Hall, ISBN 0-13-124696-8 c. Visit the following websites for better understanding and study aids Documentation and operation manuals: http://www.comptechdoc.org/os/linux/ http://www.comptechdoc.org/os/linux/usersguide/ (user guide) http://tldp.org/LDP/Linux-Dictionary/Linux-Dictionary.pdf (Linux dictionary) Tutorials: http://www.linux-tutorial.info/modules.php?name=Linux_Topics Mod Learning Guide: Operating Systems 17 Olympia College Diploma in Information Technology http://www.yolinux.com/TUTORIALS/ http://www.linux-tutorial.info/modules.php?name=Tutorial&pageid=7 Workshop practice: http://home.edu.helsinki.fi/~jsilvone/Linux/vaden.pdf http://www.lynuxworks.com/support/courses/embedded-linux.php WEEK 15 FINAL EXAMINATION Mod Learning Guide: Operating Systems 18