Post on 01-Apr-2015
An Operating Systems Course Integrated With WAP Tools: First Experiences
Ahmet KOLTUKSUZ, Ph.D., Serap ATAY, Ph.D.
{ahmetkoltuksuz, serapatay@iyte.edu.tr}
Izmir Institute of Technology, Dept. of Comp. Eng.Izmir, Turkey
Agenda
• Course history
• Enter WAP
• WAP workshop in Izmir Institute of Technology
Contents – Attendees – Microsoft side
• What is this WAP anyway
• Implementing WAP with curriculum
• Course schedule – books for the class & for the lab – grading & the performance
• Findings
• Course History
– An Operating Systems course, coded as CENG312 for juniors, had been
taught with “Windows APIs” and multi-threaded applications and IPC
implementations in accordance with the books by Silbershatz, A., Galvin,
P.A., Gagne, G.; “Operating System Concepts”, and by Nutt, G.,
“Operating System Projects Using Windows NT” for the past three years
in Izmir Institute of Technology.
• WAP Workshop – a small history...
– Early in February 2007, Microsoft Turkey provided WAP for the first time for us
to discover the new opportunity.
– Did meet Dr. Retik and Dr. Probert in Microsoft MEA Academic Days
2007,Tunisia.
– After attending to their WAP workshop, decided to have one in Turkey too.
– Then held a workshop on WAP in our department on September 15th & 16th of
2007 with great contributions of Dr. Retik and Dr. Probert of whom both from
Microsoft, Redmond, USA.
• Workshop on WAP, Windows Kernel Source and Internals: Sept. 15-16 2007, İzmir Institute of Technology, Turkey.
Workshop description:Windows Academic Program Workshop provides information and practical hands-on knowledge of the content, access to the Windows kernel source code, curriculum materials and a project environment for teaching and researching operating system principles. Instructors are Dave Probert (Kernel Architect, Windows Core Operating Systems Division, Redmond) and Arkady Retik (Windows Academic Program Manager, Source Asset Management, Redmond)
• Workshop on WAP, Windows Kernel Source and Internals: Sept. 15-16 2007, İzmir Institute of Technology, Turkey
Workshop objectives:Introduce faculty members to the Windows Academic Program (WAP) materials, Provide rudimentary hands-on experience accessing the Curriculum Resource Kit (CRK), building the Windows Research Kernel (WRK), and ProjectOZ, and Share ideas on how to successfully use these for lectures and projects/labs. Content/Areas covered:Windows Kernel Internals overview Use of the Curriculum Resource Kit (CRK) and other resources to build/augment OS curriculum Compiling and running the Windows Research Kernel (WRK) on VirtualPC. Hands-on project: ProjectOZ overview
September 17th 2007, First day of Microsoft WAP Workshop
10:00-10:30 Opening speeches:
Dr. Aytaç; Head of dept.:Welcome Mrs. Yurtseven to introduce Dr. Retik &
Dr. Probert Dr. Koltuksuz: Misc. info
10:30-11:30 Microsoft operating systems: A historical perspective
Dr. D. Probert
11:30-12:30 Windows Academic Program update Dr. A. Retik 12:30-14:00 Lunch 14:00-15:00 Windows kernel internals Dr. A. Koltuksuz 15:00-15:30 Coffee break 15:30-16:30 Windows kernel internals/WRK Dr. D. Probert - Dr. A. Koltuksuz 16:30-17:00 Discussion & Q_n_A Group
September 18th 2007, Second day of Microsoft WAP Workshop
08:00-09:00 Shuttle from Sabancı Center, Izmir to
IZTECH, Dept. of Computer Eng. Group
09:00-10:00 CRK Session Dr. Retik - Dr. Probert 10:00-10:30 Coffee break 10:30-12:30 WRK Lab Dr. Retik - Dr. Probert 12:30-14:00 Lunch 14:00-16:00 OZ session/ What’s new in Vista Dr. Retik - Dr. Probert 16:00-16:15 Coffee break 16:15-17:00 Discussion / Panel with current users Group
Workshop Agenda
• Workshop on WAP, Windows Kernel Source and Internals: Sept. 15-16 2007, İzmir Institute of Technology, Turkey
The attendees
– The professors, instructors & TAs of the course of Operating Systems
from Dokuz Eylul University, Ege University, Izmir University of
Economics, Yasar University, Bilkent University and, from Izmir
Institute of Technology reaching to a total number of 26 academics.
• Workshop on WAP, Windows Kernel Source and Internals: Sept. 15-16 2007, İzmir Institute of Technology, Turkey.– We hereby -again- extend our appreciations and thanks to
Dr. Dave PROBERT, Kernel
Architect, Windows Core
Operating Systems Division,
Redmond.
Dr. Arkady RETIK, Windows
Academic Program Manager,
Source Asset Management,
Redmond.
Eminay YURTSEVEN, Audience Marketing Manager, Developer & Platform, İstanbul, Turkey.
Dr. Cemal AKYEL,Developer & Platform Director, Ankara, Turkey.
Computer Engineering Courses
Course of Operating Systems
CRK: Curriculum Resource Kit
betteroperating systems education
WAP:WindowsAcademicProgram
Instruction
WRK: Windows Research Kernel
Research Application
ProjectOZ
Computer Engineering Courses
Course of Operating Systems
CRK: Curriculum Resource Kit
betteroperating systems education
WAP:WindowsAcademicProgram
Instruction Research Application
Windows Operating System Internals, Curriculum Resource Kit(CRK):Presentation slides, experiments, labs, quizzes and assignments for introducing case studies from the Windows kernel into operating system courses.
Computer Engineering Courses
Course of Operating Systems
betteroperating systems education
WAP:WindowsAcademicProgram
Instruction
WRK: Windows Research Kernel
Research Application
Windows Research Kernel (WRK):The core kernel sources and binaries integrated with an environment for building and testing experimental versions of the Windows kernel for use in teaching and research.
Computer Engineering Courses
Course of Operating Systems
betteroperating systems education
WAP:WindowsAcademicProgram
Instruction Research Application
ProjectOZ
ProjectOZAn operating systems project
environment that uses thenative kernel interfaces of Windows to provide simple, clean, user-mode abstractions of the CPU, MMU, trap
mechanism, and physical memory that can be used to perform
experiments in operating systems principles.
• After the WAP workshop
– Decided to utilize these WAP tools in our undergrad course “Ceng313-
Operating Systems” in a more efficient way.
– Thus, upgraded the course curriculum with the WAP tools and decided
to utilize the materials in the directory “Curriculum Resource Kit Units”
and to use the book named “Microsoft Windows Internals, 4th Edition,
Microsoft Press, 2004” by Russinovich & Solomon.
• Implementation
– 2007-2008 Academic year
– Fall term
– Ceng 312 Operating Systems
– A must course for all fresmen
Week Lecture Topic(s) Course Details Course Materails Lab. Materails WAP CRK Sources
#1 02.10.2007 Introduction Operating Systems and their structures
Introduction.ppt System_Overview.ppt
Processes.ppt Operating System Model.ppt
Overview of Operating Systems – (Core) OS1 -
OS2
#2 8-12 Oct. Process Management Introduction to the concept of
processes and Threads, CPU Scheduling Algorithms
Processes_Threads_CPU_Scheduling.ppt
2.4_Win-API.ppt 2.5_Demos.ppt assignment.txt
Concurrency – (Core) OS3
#3 15-19 Oct. Process Management
Processes and Threads Scheduling Algorithms Multiprocessing with
multiprocessors
Windows_CPU_Scheduling.ppt
Win32 Threads Writing Multithreaded Software
Process-Thread Creation Assignment #1- "Writing Multithreaded Software with WinAPI"
assignment_1.txt
Scheduling and Dispatch – (Core) OS4
Gary Nutt Lab Book, Ch.2
#4 22-26 Oct. Asynchronous Concurrent
Processes I
Cooperating Processes, Interprocess Communication
Part #1 Processes_Cooperating_IPC.ppt
Windows_SynchIPC.ppt Demos-Labs
#5 29 Oct. 2 Nov.
Asynchronous Concurrent Processes II
Process Management “Process Synchronization”
Part #2 Processes_Synchronization.ppt
3.5_Assignment 3.5_Labs.ppt
3.5.2 Assignment #2- "Process Synchronization-1"
assignment_2.txt
#6 05-09 Nov. Deadlock Starvation and related problems
DeadLocks.ppt
4.6_Labs 4.6_Assignment
Assignment #3- "Process Synchronization-2" asignment_3.txt
#7 12-16 Nov. Memory Management I Memory organization, real memory organization
MemoryManagement.ppt System Mechanisms-Object Manager
(Windows Internals)
#8 19-23 Nov. Memory Management II Virtual memory organization, paging & segmentation plus
swapping VM_Management.ppt
IPC-Anonymous Pipes (Operating System Projects
by Gary Nutt)
Memory Management – (Core) OS5
Gary Nutt Lab Book, Ch.7
#9 26-30 Nov. Memory Management WAP 5.2_WinMemManagFundamentals Memory Mapped File (WAP Assignment 5.2.2:
Assignment #4- Memory Mapped File-qsort) file_mapping_summary.doc
#10 03-07 Dec. File Systems File System Interface and Implementation
File_Systems.ppt 8.2_NTFS.ppt
5.5_Assignment_2.doc Heap-qsort
File System – (Elective) OS8
#11 10-24 Dec. Midterm
WAP Assignment 5.2.3: mytr.exe using Windows API Heap functions
(Assignment #5-Virtual Memory (Operating System Projects
by Gary Nutt) )
#12 17-21 Dec. Input/Output Systems IO_Systems.ppt Holiday Device Management -
The Input/Output System – (Elective) OS6
Gary Nutt Lab Book, Ch.9
#13 24-28 Dec. Mass Storage Structure MassStorage_Structure.ppt disk_io.doc
Disk I/O
#14 31 Dec. 04 Jan.
Happy new year.. :) Holiday Lab_exam_and_asignment_6.doc
Solution of the Midterm lab question.
15 Jan.08 FİNAL
The Course Schedule
• The course books
– Silbershatz, A., Galvin, P.A., Gagne, G.; Operating System
Concepts, 6th Ed., John Wiley & Sons, USA, 2001.
– Russinovich, M. E., Solomon, D.A.; Microsoft Windows
Internals, 4th Edition, Microsoft Press, 2004.
– Nutt, G.J.; Operating Systems A Modern Perspective, 2nd
Ed., Addison Wesley, 2000.
• Lab books & other references– Nutt, G.J.; Operating System Projects Using Windows NT,
Department of Computer Science University of Colorado,
1999.
– http://www.sysinternals.com :Tools used in labs and
experiments
– http://msdn.microsoft.com: Online resource for information
on APIs required during work on assignments.
• Grading– This semester the course was taken by 58 juniors for
fourteen weeks of both course and lab. The grading was done as below:
[ 20% of midterm + 30% of final exam + 50% of the average of the lab assignments & a lab exam ]
• The overall performance– 12 juniors were unsuccessful out of 58 and they are to repeat the
course. So the overall success of the course is 79%.– The distribution of the grades for the whole class
Grades Distribution of Ceng 313 in 2007 Fall Term
FD22%
DD27%DC
10%
CC12%
CB9%
BB10%
BA10%
• Our findings
1. Generally our students were far more attracted to the course and its labs
this year which clearly shows that they did easily grasp the concepts of
the course and thus they enjoyed implementing the exercises and
assignments in the laboratory that all conducted under WAP. At the end
of the year, the course was scrutinized by us and by our students in one
last session and we found out that our students were a lot more happier
since they were able to create and to implement OS codes easily.
• Our findings (continued)
2. The freshmen did have some difficulties with the book “Microsoft Windows
Internals, 4th Edition” for the book actually requires a prerequisite
knowledge of OS theory. For that reason we feel that it is more suitable as
a secondary book for the course along with the other classical books on the
subject. However, this peculiarity makes the book perfect for grad level
studies. So we recommend that the book be utilized as a secondary for
undergrads while can be first for grad level studies and for code
development projects.
• Our findings (continued)
3. The system-internals tools are quite useful to understand and to monitor the
objects and to clarify some troublesome concepts of operating systems
such as the difference between process and thread, performance
monitoring, scheduling and of memory usage. Since these tools add a
dimension of visualization to the hard-to-grasp theoretical concepts of OS
we highly recommend it for the undergrad education.
• Our findings (continued)
4. Unfortunately the time didn’t permit us to fully utilize “virtual PC” and
“Project Oz” tools and thus they will be utilized in the next fall term.
However; we feel that these tools are more appropriate for the
miscellaneous code development projects and for the graduate level
courses.
Thank you so much for your time!