1 / 14

CSNB334 Advanced Operating Systems Course Introduction

CSNB334 Advanced Operating Systems Course Introduction. Lecturer: Abdul Rahim Ahmad. Basic Information. Lecturer : Abdul Rahim Ahmad Room : Deputy Dean, Level 6. Phone : 03-8921-2345 Web : http://metalab.uniten.edu.my/~abdrahim. Basic Information. Credit :

justis
Download Presentation

CSNB334 Advanced Operating Systems Course Introduction

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CSNB334 Advanced Operating SystemsCourse Introduction Lecturer: Abdul Rahim Ahmad

  2. Basic Information • Lecturer : Abdul Rahim Ahmad • Room : Deputy Dean, Level 6. • Phone : 03-8921-2345 • Web : http://metalab.uniten.edu.my/~abdrahim

  3. Basic Information • Credit : • 4 (3 hours lecture/tutorial, 2 hours lab) • Prerequisite(s) : • CSNB224/CCSB234 (Operating Systems Concepts) • Assessment Methods : • Lab work 30% • Mid Term Progress Test 20% • Final Examination 50%

  4. Course Objectives • At the end of the course, the students should be able to: • Use Linux operatings systems for advanced study of operating system concepts. • Write codes to implement and modify some advanced concepts in operating systems using Linux.

  5. Learning Outcomes • The course objectives ensure the development of students applied skills in operating systems related areas. Students will • Gain the ability to install and customize Linux operating systems. • Gain knowledge in writing software routines, modules or patches for the operating systems, using respective system calls to implement, debug or tailor device drivers and interrupt handlers. • Be confident in presenting short talks regarding the operating systems internals and various operating system issues..

  6. Course Synopsis • The theory part of this course focuses on design issues of the Linux operating system. • The course uses the theoretical knowledge learned in the prerequisite course CSNB224/CCSB234 Operating System Concepts. • The practical part of the course • Will take you on the programming tasks of writing codes to adapt, modify or add modules to the existing kernels of the operating systems. • Provide hands on knowledge in system programming which will be valuable to further enhance your general programming ability.

  7. What is this Course About • Comparison to CSNB224 • CSNB224: concepts and principles of an OS • CSNB334: an example of how they are actually done • Linux Kernel Programming • How to work in an example modern OS kernel • This is the advanced practical component of OS curriculum in the Computer Science undergraduate • Taken after Introduction to OS

  8. Linux – What we’ll Learn? • Understanding linux kernel structure • Know how the kernel works • Know how to customize kernel • Writing kernel code • Experience developing code for OS kernel • System programming skill • Ability to deal with large, complex systems. • Very different from application programming (e.g., using Java) • New s/w development model: open community

  9. Linux – What we’ll NOT learn? • How to use Linux? • You should have known by now • If not, there are lots of books and online resources • Still no? there are dummy books and training courses • How to program in Linux • See above • To obtain Linux certificates • Those are for technicians • You are a graduate, those are not for you, though it is good to have.

  10. Linux - Why Linux? • Linux is increasingly important • It is a good skill to have. • Can become a system programmer. • To further study at graduate level and do systems research.

  11. Linux - Course contents • Linux Operating System • History of Linux • Kernel organization • Process and resource management • Memory Management • Device management • File management

  12. Linux Labs • To choose during the semester as time might not permit • Observing Linux behaviour • Shell Program • Kernel timers • Kernel modules • System Calls • Shared memory • Virtual memory • Synchronization mechanism • The scheduler • Device drivers • File system • File I/O

  13. Group Divisions – Labs/Presentations • Groups of 2. • Do your work individually and use the group for first level discussions. • All lab solutions need to be demonstrated in the lab. No marks will be given if a lab solution is submitted without giving a demo.

  14. Materials • Daniel P. Bovet & Marco Cesati: Understanding The Linux Kernel, 3rd Edition, O’Reilly, 2005. • Gary Nutt: Kernel Projects for Linux, Addison-Wesley, 2001. • William Stallings: Operating Systems, 5th Edition, Prentice Hall, 2005.

More Related