CENG 425 System Programming
Spring 2007

Most recent announcement: July12

TIME

Tuesday

Wednesday

    Contents

8:40-10:30



10:40-12:30



12:40-14:30



14:40-16:30


CENG425(L) MPLab

16:40-18:30

CENG425(T) MPLab




Instructor

Cem Özdoğan

office: Computer Engineering Department, 329-L
office hours: , or by appointment
office phone: 284 45 00 / 4010
email address: ozdogan@cankaya.edu.tr



Serkan Kefel

office:Computer Engineering Department, 316-A
office hours:
office phone: 284 45 00 / 349
email address: skefel@cankaya.edu.tr



Announcements

Watch this space for the latest updates. Last updated: 12.Temmuz.2007 16:51 Term projects are accesible.

30.Mayıs.2007 19:21 The presentation day for the term projects is June 11, 2007 at 13.00 and possible classroom is A-319..

May 19, 2007 18:38 The possible topics for the term project are given; you should choose one or propose a topic by yourself and send an e-mail to me as soon as possible

  1. Bootstraping -- Ahmed Mübin Cevizci

  2. Device Drivers in Linux -- Yusuf Soyman

  3. Ext2 file system

  4. Journalling file systems

  5. Kernel Memory Allocator in Linux

  6. Low Level Synchronization in Linux

  7. MMU

  8. Micro Kernel -- Ahmet Yusuf Özgür

  9. Monolithic Kernel

  10. Mounting File Systems in Linux

  11. Operating System and Keyboard

  12. Operating System and Mouse

  13. Process Scheduling in Linux

  14. Page Tables in Linux

  15. Page Replacement Policy in Linux

  16. Reiserfs file system

  17. System Calls in Linux -- Çağatay Yılmaz

  18. TLB

  19. Virtual Memory in Linux -- Abdulhamit Maboçoğlu

  20. Virtual File System -- Filiz Gökçe

May 16, 2007 12:37 The lecture and lab notes for the foorteenth week are published, see Course Schedule section.

May 14, 2007 16:20 The lecture notes for the fourteenth week is published, see Course Schedule section.

May 9, 2007 12:42 The lab notes for the thirteenth week is published, see Course Schedule section.

May 7, 2007 16:23 The lecture notes for the thirteenth week is published, see Course Schedule section.

May 2, 2007 12:16 The lab notes for the twelfth week is published, see Course Schedule section.

April 30, 2007 16:24 The lecture notes for the twelfth week is published, see Course Schedule section.

April 24, 2007 17:20 There will be no lab study for this week since I am not in the department.

April 18, 2007 11:58:59 The lab notes for the nineth week is published, see Course Schedule section.

April 16, 2007 16:37 The lecture notes for the nineth week is published, see Course Schedule section.

April 9, 2007 16:42 The lecture and lab notes for the eight week is published, see Course Schedule section.

April 3, 2007 15:57 There will be an extra lab hour on Friday (6/4/2007) at 15.30.

March 28, 2007 11:16 There will be leccturing hour today instead of lab study. ATTENDENCY will be the most important factor for your final grade!

March 26, 2007 16:10 The lecture and lab notes for the seventh week is published, see Course Schedule section.

March 19, 2007 15:53 The lecture and lab notes for the sixth week is published, see Course Schedule section.

March 12, 2007 10:35 The lecture and lab notes for the fifth week is published, see Course Schedule section.

March 4, 2007 16:41 The lecture and lab notes for the fourth week is published, see Course Schedule section.

February 25, 2007 17:45 The lecture and lab notes for the third week is published, see Course Schedule section.

February 19, 2007 17:07 Lecture and lab hours are rearranged, see the time table above. There will be class tomorrow. Send me e-mail for the schedule related problems.

February 19, 2007 10:37 The time table will be rescheduled. The present situation is given above and needs further progress. The lecture notes for the second week is published, see Course Schedule section.



Overview

It is aimed to describe the concepts of the system programming by using Linux/Unix operating system.



Lecture Information

There is one group for lecturing and one group for lab sessions. The UNIX operating system will be introduced to you first in the lab sessions , later some concepts of the system programming by using Linux/Unix operating system will be studied by C codes and you will be responsible for writing codes, to be graded.

Important announcements will be posted to the Announcements section of this web page above, so please check this page frequently. You are responsible for all such announcements, as well as announcements made in lecture.



Course Outline



Text Book

Required

Recommended

Mark Mitchell, Jeffrey Oldham, and Alex Samuel, Advanced Linux Programming, New Riders, 2001.



Online References

The web page www.advancedlinuxprogramming.com contains all the information related with the text book.

Grading Criteria



Policies



Course Schedule



The following schedule is tentative; it may be updated later in the semester, so check back here frequently.

Week

Dates

Topic

Lecture Notes Acrobat

Laboratory Studies

Lectures

1

February 16, 2007

First Meeting

NA

NA

2

February 19, 2007

Getting Started

pdf

html

pdf

3

February 26, 2007

Writing Good GNU/Linux Software

pdf

html

pdf

4

March 5, 2007

Introduction to Shell Programming

pdf

html

pdf

5

March 12, 2007

Processes

pdf

html

pdf

6

March 19, 2007

Threads

pdf

html

pdf

7

March 26, 2007

Threads & Interprocess Communications

pdf

html

pdf

9

April 9, 2007

Interprocess Communications & Devices

pdf

html

pdf

10

April 16, 2007

Device Drivers

pdf

html

pdf

11

April 23, 2007

National Independence and Children's Holiday

NA

No

Lab

12

April 30, 2007

System Calls & Inline Assembly Code

pdf

html

pdf

13

May 7, 2007

The /proc File System Secure Programming

pdf

html

pdf

14

May 14, 2007

Programming the User Interface I & II

pdf

pdf

html

pdf

Exams

Midterm

Term Project




Final

28.05.2007 B-307 16:30-18:30