OSC: Case Study Topic Guide: Linux API
From SOFTICE
|
Case Study Topic Guide: Linux System Programming
Phase I: Introduction
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? What are the various APIs available on Linux (Posix, SysV, Gnome or KDE based)? 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;
- Various existing Posix APIs
- Origins of the SysV API
- IPC APIs provided by Gnome and KDE projects
- More as you see fit
- Provide an overview of current Java 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 API tools to focus on;
- SysV APIs (Message queues, Shared memory, Semaphores)
- Basic Linux IPC mechanics (anonymous and FIFO pipes, signals)
- Linux Threads creation / destruction & Synchronization primitives
- D-BUS protocol for events management and message-based IPC
- KDE's DCOP
- Remote Procedure Calls
- Other you might discover during your search
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
- 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 t his 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.

