La lecture à portée de main
Découvre YouScribe en t'inscrivant gratuitement
Je m'inscrisDécouvre YouScribe en t'inscrivant gratuitement
Je m'inscrisDescription
Sujets
Informations
Publié par | unnu |
Nombre de lectures | 33 |
Langue | English |
Poids de l'ouvrage | 5 Mo |
Extrait
Using CRK and WRK to Teach
Windows OS to Small Classes
Andrew Trotman
University of Otago
Dunedin, New Zealand Overview
University of Otago & Computer Science
thCRK as the 4 year OS course at Otago
20 lectures, 3 assignments, 1 exam
CRK Outcomes
Novel uses of CRK at Otago
Software Engineering
Future of OS at Otago
Course taught by: Andrew Trotman, Zhiyi Huang, Richard O’Keefe 2 University of Otago
http://en.wikipedia.org/wiki/File:Mollweide-projection.jpg
Dunedin
New Zealand
University of Otago, Dunedin, New Zealand
Dunedin Population: 120,000, including 20,000 students
3 th4 year Otago Comp Sci.
14
12
10
8
6
4
2
0
4
StudentsCRK at Otago in 2009
th4 year course (400-level)
Only 3 students (+ 2 “interest only” students)
Reading group (over 20 weeks)
A 2 hour get-together each week
1 unit per week
15 units from CRK, 5 new units from Otago
CRK units distributed amongst students
Student lead discussion using the CRK materials
3 units each (3*5=15). Otago lectures given by faculty
We ignored the Windows API-centered lectures
5 CRK at Otago in 2009
Assessment
3 assignments (40%)
Programming: Windows API
ProgrWindows CRK
Report: State of the art in OS research
1 exam (60%)
Questions (mostly) taken from the CRK
6 Assignment 1: Windows API
Develop a command-line process viewer
I. List the name, PID, & PPID, of all running processes
II. Using tabs (or spaces) draw the process tree
III. Extend your answer to Part II in any way you wish
Possibilities include (but are not limited to):
listing process memory usage, process threads, handle
counts, command line parameters, etc.
IV. In Linux the process tree is a tree. In Windows it is a
forest. Explain the behavioural differences that result
in either a tree or a forest. What are the advantages
of each?
7 Assignment 1: Answer
PsAPI
psapi.h, psapi.dll
ToolHelp32 API
tlhelp.h, kernel32.dll
ZwQuerySystemInformation
ntddk.h, ntdll.dll
Performance counters
pdh.h, pdh.dll
8 Assignment 1: Answer
HANDLE hSnapshot;
PROCESSENTRY32 psinfo;
hSnapshot = (void*)CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
while (Process32Next(hSnapshot, &psinfo) != FALSE)
{
printf("ProcessID: %d, Name: %s, ParentID: %d\n",
psinfo->th32ProcessID,
psinfo->szExeFile,
psinfo->th32ParentProcessID);
}
9 Assignment 1: Answer
10