OSC: Case Study Topic Guide: Win32
From SOFTICE
|
Case Study Topic Guide: Win32 System Programming
Phase I: Case Study Survey
If you choose this topic, you will be expected to write during phase I an introductory document covering the following items:
- Make sure you have a brief synopsis to start your presentation: e.g. what is a system call API? Who is deciding on the win32 API composition? How does it differ from other OSes’ APIs (sheer number of system calls, nature of the tasks addressed by these system calls…)
- Make sure you introduce the relevant terminology;
- Naming convention for the API functions
- “Staple” data structures used with most of the API (handles, …)
- Others as you see fit…
- Provide an overview of current Win32 API tools. For each of the API tools you will mention, make sure you specify;
- Name
- What it is used for
- Limitations and weaknesses
- Major reference(s) where your reader can find out more (web, book, articles)
- Make sure you cover at least 4 significantly different API tools. Possible Win32 API tools to focus on;
- Mailslots
- Processes, Threads and Fibers creation / destruction & Synchronization primitives
- Signals and Events
- Pipes (named, anonymous)
- Network Sockets
- Remote Procedure Calls (RPC, XML-RPC)
- ...
Phase II: Core Bibliography
This phase of your case study will have to focus on one specific API tool of your choice. Make sure that you find sources of information of different nature to cover your basis:
- Technical references (from Microsoft sites or alike)
- Books from the library system
- Tutorial-like articles from periodicals
- Code examples from development-oriented sites
- Others type of resources your will find by yourself
Make sure you discuss with your instructor which aspect you will be covering in your technical tutorial so that you can focus on it during this information gathering phase.
Phase III: Technical Tutorial
Depending on the API tool you chose in phase I and II, you will have to produce a well-focused technical tutorial. The objective is to synthesize your phase II readings and design a 15 minutes PowerPoint-based presentation which will enable your colleagues to become knowledgeable in using the selected API subset.
Objectives should include;
- Define what your API subset is meant to do; capabilities, limitations…
- Provide an overview of the relevant system calls for this API subset
- Provide code examples illustrating elementary use of these system calls
- Provide a complete code example, written by you, which applies this API subset to solve a problem comparable to the IPC problems discussed in class.
As explained in the general guidelines your work has to be original, if you find many similar tutorials during Phase II, you need to find a way to distinguish yourself and provide an original contribution of your own. It is particularly important that your complete code example be of your own design and implementation. If the “classic IPC problems” have been already solved a thousand times with your chosen API subset, you will work on designing a problem to solve which makes usage of this API subset in a different way.

