Download CSNB334 Advanced Operating Systems Course Introduction

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Library (computing) wikipedia , lookup

VS/9 wikipedia , lookup

Copland (operating system) wikipedia , lookup

Unix wikipedia , lookup

Process management (computing) wikipedia , lookup

CP/M wikipedia , lookup

Berkeley Software Distribution wikipedia , lookup

RSTS/E wikipedia , lookup

Mobile operating system wikipedia , lookup

DNIX wikipedia , lookup

Plan 9 from Bell Labs wikipedia , lookup

Distributed operating system wikipedia , lookup

Spring (operating system) wikipedia , lookup

Unix security wikipedia , lookup

Mandriva Linux wikipedia , lookup

Linux wikipedia , lookup

Linux kernel wikipedia , lookup

Caldera OpenLinux wikipedia , lookup

Linux adoption wikipedia , lookup

Smallfoot wikipedia , lookup

Security-focused operating system wikipedia , lookup

Transcript
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 :
◦ 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

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

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
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

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?

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?

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 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 Operating System
◦
◦
◦
◦
◦
◦
History of Linux
Kernel organization
Process and resource management
Memory Management
Device management
File management
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
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.

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.
