Operating Systems
Professor: Hezy
Yeshurun
Teaching assistant: Mati Shomrat
Email:
matis@post.tau.ac.il
Room:
Software Engineering Bldg., Room 209
Office hour:
Thu. 15:00 – 16:00 (by appointment).
Slides and code examples
- Introduction
[slides] [handouts] [sample code]
- Files
[slides] [handouts] [sample code]
- Processes
[slides] [handouts] [sample code]
- Inter-Process
Communication [slides] [handouts] [sample
code]
- Virtual
Memory [slides] [handouts] [sample code]
Note: in order to build the sample code you must add psapi.lib to your
project's Additional Dependencies.
See full details in the example itself.
- Memory
Mapped Files [slides] [handouts] [sample
code]
- Dynamic
Link Libraries [slides] [handouts] [sample code]
- Threads
[slides] [handouts] [sample code]
- Networking
[slides] [handouts] [sample code]
- Security
[slides] [handouts] [sample code]
- Exceptions
[slides] [handouts] [sample code]
Homework assignments
Submission instructions
- Hardcopy
Submit hardcopy to box 268 (Efrat Mashiach). Submission deadline is as
specified in class.
Your hardcopy should include all code you've written and an example
output.
You do not need to include automatically generated files
("stdafx.[cpp|h]") in your hardcopy
- Softcopy
Make sure to follow these instructions to
the letter as checking is partially automatic.
In your home dir create a directory named os08b.
For each assignment create a subdirectory in os08b
named ex01, ex02, etc.
In this subdirectory you will place all your files organized in two
subdirectories bin
and code
The bin
directory will contain all executable files (exe, dll, lib), the code
directory will contain the source code (.cpp, .h)
as well as the project and solution files (.sln, .vcproj).
Make sure your files are accessible (chmod 775)
- Source files
All source files should begin with the following header
/*
* Name: <your-full-name>
* Id: <your-id>
* login: <your-login>
* Group No: <your-group-number
(06|07|08)>
* Assignment No:
<the-assignment-number>
* IDE Version:
<version-od-IDE-used (2003|2008)>
*/
Template files
are available (.cpp, .h)
- Development environment
Your solution will be developed using either Visual C++ 2008 Express
Edition (preferred) or the older 2003
version installed on the university servers. Make sure to indicate which
version you have used in your files.
Visual C++ 2008 Express
Edition is available for free from Microsoft.
Assignments
1.
Assignment
#1 (files) [sample input] [output]
Due date: 27.5 for the Tuesday group, 5.6 for the Thursday groups.
Make sure that for the sample input
your solution produces exactly the same output
as above (the order of entries may differ).
This output was produced on a machine with clusters of size 4K. For debugging
purposes only make sure this is the value
you use in your computations.
2.
Assignment
#2 (IPC)
Due date: 10.6 for the Tuesday group, 19.6 for the Thursday groups.
3.
Assignment #3
(Producer/Consumer)
Due date: 24.6 for the Tuesday group, 3.7 for the Thursday groups.
Create a single solution containing both projects.
4.
Assignment #4
(Producer/Consumer using DLLs)
Due date: 8.7 for the Tuesday group, 13.7 for the Thursday groups.
Code: consumer.cpp
Useful links
o
Almost everything we will discuss
in class can be found under
MSDN ▶ MSDN Library ▶ Win32 and COM
Development ▶ System Services