Quick Links
Old exams:Contents
|
|
Lectures:
Sunday 15:00-17:00, Kitot Hashmal 103
Wednesday 10:00-11:00, Wolfson 001 (Tau hall)
Recitations:
Tuesday 15:00-16:00 Kitot Hashmal 207
OR
Wednesday 11:00-12:00 Kitot Hashmal 207
Staff:
Lecturer: Prof. Avishai Wool, yash(at)eng.tau.ac.il.
Office: Wolfson Software 314, Phone: 640-6316.
Office hours by appointment - please coordinate by email.
Recitations: Amnon Drory, amnondro (at) mail.tau.ac.il
Reception time:
Wednesday 12:00, Office: Wolfson Software 212
Teaching Assistant: Revital Levin,
revitallevin(at)mail.tau.ac.il
Reception time: Wednesday 20:00 at the computer labs
Assignments Submission: isp-grader@eng.tau.ac.il
Our goal is that when the course is over, each one of you will have a better idea about the way computers really work, and that your programming skills will be greatly improved. You should already be acquainted with the way computer hardware is constructed and designed. Most of you have a considerable experience as computer users, using many sophisticated software systems. You also know how to write simple computer programs. But how do the really large systems work? How do programs control the actual hardware? In this course you will see the bridge between the hardware and the software, called the operating system. The course will cover many of the abstractions supported by operating systems, and the way these abstractions are implemented. The course includes extensive programming assignments in C. It is expected that by the end of the course, you will have a working knowledge in this environment.
The grading in the course will be based on homework assignments that include a serious programming effort. The breakdown will be:
This means that you must put an effort throughout the semester. Homework assignment will be handed in class and posted on the web .
Ethics. Unless told otherwise, homework is to be done
individually. You may discuss your work with another student, but if you borrow
a substantial idea from somebody else, you should acknowledge him or her
explicitly in your work. In any case, you should write your work on your own.
Cheating will result with serious consequences.
Other than lectures and recitations, the main mode of communication in the course will be e-mail and constant updates of the course web site . It will be assumed that you read e-mail at least twice a week.
Review of the C programming language.
What is an Operating System?
The hardware/software interface: a summary of physical computer organization.
System calls and interrupts.
Processes and threads.
Inter-Process communication. hardware solutions, busy-wait, mutex, semaphores.
Dining Philosophers. Readers/writers.
CPU scheduling: measures, preemption, policies.
Deadlocks: detection, prevention. Banker's Algorithm. Two Phase Locking.
Memory management. Swapping, Virtual memory, Paging.
Caching algorithms: FIFO, LRU, Clock.
I/O devices: Introduction; DMA; Disk drivers.
File systems: organization and implementation on disks.
Security: Authentication. Trojan horses. Buffer Overflows. Viruses and worms.
Protection mechanisms.
We will try to put as much material as possible on the web. The starting point is this page.
Course home page: www.eng.tau.ac.il/~isp.