| University of
Cincinnati 20-ECES-427 OS Lab - Winter 2003 |
[ Home | Resume | News | Syllabus | Projects ]
Last updated: 3 Feb 2003 |
| Overview | The Organization of Windows NT |
| Printable Lecture Slides in PPT format |
| Week 2 : Project 1 | Managing Multiple Tasks | ||
|
|
in this project, you are to observe the behavior of Windows NT processes and threads. Every Windows NT installation has many different processes and threads in execution at one time. In this exercise, you will use various tools to observe the status and activity of these processes, threads and various other objects. | ||
| Printable Lecture Slides in PPT format | |||
| Resources |
|
| WORKSHEET | |
| Week 3 : Project 2 | Writing Multithreaded Software |
|
|
In this exercise, you will write software that creates and uses multiple processes and multiple threads. It contains a lot of detailed information, so it has been partitioned into two parts. In part A you write code to create cultiple processes and in part B, you create multiple threads within a process |
| Function Descriptions | CreateProcess and CreateThread |
| Sample Program | |
| Program Assignment | Part A and Part B |
| Week 4 : Project 3 | Manipulating Kernel Objects |
|
|
This exercise focuses on kernel objects, including those used to synchronize multiple processes. You used kernel objects in previous project, but in this project you will look more closely at various facets of the objects. |
| Function Descriptions | WaitableTimer and TeminriateProcess |
| Sample Program | |
| Program Assignment | Program Requirement |
| Week 6 : Project 5 | Interprocess Communication |
|
|
In this exercise, you explore Windows NT's facilities to support communication among threads that are implemented with different processes |
| Downloadable Course Slides | |
| Function Descriptions | CreateFile and ReadFile and WriteFile |
| Sample Program | |
| Program Assignment | Page 1 and Page 2 |
| Week 7 : Project 6 | Virtual Memory |
|
|
In this exercise, you will experiment with various aspects of Windows 2000's virtual memory mechanisms Unlike most other operating systems, 2000 provides an explicit API for manipulating certain aspects of the virtual memory. Usually, virtual memory is completely transparent to the application programmer. |
| The Virtual-Memory Manager in Windows NT | |
| Memory Management Functions |
GetSystemInfo and GlobalMemoryStatus and VirtualQuery VirtualAlloc and VirtualFree and VirtualLock and VirtualUnlock |
| Week 8: Project 7 | Memory-Mapped Files |
|
|
Memory Mapped files are the primary internal OS mechanism used to implement sharing across address spaces. This exercise introduces you to the memory-mapped files. |
| Memory Mapped Files | |
| MM File Functions |
CreateFileMapping
and
MapViewOfFile
and
OpenFileMapping
|
| Sample Program | |
| Program Assignment | Write two processes. They share a memory region ( using mmfile functions ). One process modifies the memory, the other one should be able to observe the modification |
| Week 9 : Project 8 | Fast File I/O |
|
|
Windows NT has two specific mechanisms, in addition to the normal approach, for increasing file I/O performance: the file caching and asynchronous I/O. |
| Assignment Code | |
| Assignment | Fatest File Filter |
| Week 10: Project 9 | Using TCP/IP |
|
|
In this project, you experiment with Windows NT's facilities for IPC across a network, including the internet. |
| Sample Server and Sample Client | |
| Assignment | A proxy program. It gets the data from the client, send it to the server, get the reply from the server and forward the reply to the client. |
| The basic routin |
|