Csnb334 advanced operating systems course introduction
1 / 14

CSNB334 Advanced Operating Systems Course Introduction - PowerPoint PPT Presentation

  • Uploaded on

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 :

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about ' CSNB334 Advanced Operating Systems Course Introduction' - justis

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Csnb334 advanced operating systems course introduction

CSNB334 Advanced Operating SystemsCourse Introduction

Lecturer: Abdul Rahim Ahmad

Basic information
Basic Information

  • Lecturer : Abdul Rahim Ahmad

  • Room : Deputy Dean, Level 6.

  • Phone : 03-8921-2345

  • Web : http://metalab.uniten.edu.my/~abdrahim

Basic information1
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%

Course objectives
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.

Learning outcomes
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..

Course synopsis
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.

What is this course about
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

Linux what we ll learn
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

Linux what we ll not learn
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.

Linux why linux
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.

Linux course contents
Linux - Course contents

  • Linux Operating System

    • History of Linux

    • Kernel organization

    • Process and resource management

    • Memory Management

    • Device management

    • File management

Linux labs
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

Group divisions labs presentations
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.


  • 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.