Technical Report TR2006-09-01 September, 2006
Internetworking and Media Communications Research Laboratories
Department of Computer Science, Kent State University

Ontology of Operating System

Yongbin Ma, Sujatha Gnaneswaran, Manas Hardas  and Javed I. Khan

Networking and Media Communications Research Laboratories

Department of Computer Science, Kent State University

233 MSB, Kent, OH 44242



Semantic Pedagogy refers to a new brunch of education where various aspects of learning process including teaching, testing, course material design and evaluation, student assessment etc. are potentially enhanced by the use of content knowledge space associated with the learning activity. Currently, we are developing a set of analytic tools which can help the above processes by way of computation on the semantic network representation of the knowledge space.  We have developed OWL based ontological languages to describe the course knowledge space. For each course the knowledge is modeled as ontology- which is also structurally a special labeled graph called Semantic Topic Graph (STG).

We have developed a set of test ontology graphs to benchmark various analytic processes developed. This technical report contains a developed ontology for a standard undergraduate “operating system” course. The details of the experiment are in main publications.The fields of the ontology correspond to the following STG definition.

A Semantic Topic Graph (STG) is defined as a directed graph G = (V, E), where V is the set of concept nodes, E is the set of edges between concept nodes. Each concept node represents a subject specific concept (such as scheduling, thread, round robin schedule, etc.) and acts an index to various course materials.

STG also has a weight structure. For each concept node, node weight is used to represent the relative importance of each concept; for each edge, edge weight is specified to represent the relative importance of the sub-concepts inside a particular concept. The sum of the prerequisite edge weights for a particular concept is always 1. For the initial stage, only the root node weight is 1. All the other node weight is 0. During the course composition, the node weight is recalculated dynamically. Also they have associated pedagogical variables such as teaching time, depth etc.

All concepts has been extracted from the ‘dinosaur book’: Operating System Concepts, 2002, 6th/ 7th edition, Silberschatz and Galvin; Operating Systems Concepts with Java by Silberschatz, Galvin, and Gagne; Modern Operating Systems, 2nd Edition, Andrew Tanenbaum 2001 and the lecture notes from Dr. Javed I. Khan. Keyword is a primary key to the concept node.

The preliminary STG was first created. Then a 3 person group has examined and checked each node and the relation between nodes in more details to add more edges in STG. Edge weight between nodes are added manually by professors after subjective evaluation.

2.2 Download Instruction

Here we have three different formats for downloading:

q     RDF version

q     XML version

q     OWL version

Because of different parser, sometimes the link above could not be displayed directly in the browser. On the link click the right mouse and save it as a local file. Then use browser to see it.

3.    Diagrams

3.1 Software.

Growl  can be used to display our ontology. Inside each concept node, keyword is used as a primary key to the concept. Each edge represents the relation between nodes. The relation B→A means concept A is a parent of concept B, Concept B is child of concept A, i.e., if we want to understand concept A deeper or more details, study concept B. for simplicity, the relative importance (edge weight) is not shown in the concept maps diagram.

3.2 Ontology of Operating System

There are more than 1 thousand concept nodes of operating system in our STG. Those concept nodes are roughly divided into 6 parts: OS overview, Process Management, Storage Management, I/O Systems, Distributed Systems and Protection and Security.

3.2.1      OS Overview

In this catalogue, there are three subparts: OS introduction, operating system structures, and computer system structures. They have parent-children relation with concept OS Overview. Figure 1 ~ Figure 3 shows them respectively.

Figure 1. Concept map for OS introduction with Growl


Figure 2. Concept map for operating system structures with Growl


Figure 3. Concept map for computer system structures with growl


Figure 4. First level of Concept map for computer system structures

In figure 3, there are nodes needed to expand: Virtual memory, memory management, Storage management, file system implementation, distributed file system etc. they will be shown in section storage management below. Figure 4 just show the first level of this concept map in figure 3. First level of a concept is the set of direct children of that concept.

3.2.2      Process Management

First level of process management is shown in figure 5:� processes, threads, CPU scheduling, process synchronization, and deadlocks. They are parent-children relation with process management. Figure 6 ~ figure 10 show them respectively.

Figure 5. First level of Concept map for Process management


Figure 6. Concept map for processes with growl

Figure 7. Concept map for threads with growl


Figure 8. Concept map for CPU scheduling with growl


Figure 9. Concept map for process synchronization with growl


Figure 10. Concept map for deadlocks with growl

3.2.3      Storage Management

Figure 11 shows the first level concept map for storage management. From this figure, File-system Interface (Figure 12), File System Implementation (Figure 13), memory Management (Figure 15), Virtual Memory (Figure 16) and computer system structure (Figure 3) are children of storage Management.

Figure 11. First level concept map for storage Management with growl


Figure 12. Concept map for File-system Interface with growl


Figure 13. Concept map for File system Implementation with growl

Inside Figure 13, there are two nodes needed to further expand. They are distributed File system and memory management; see figure 14 and figure 15.

Figure 14. Concept map for distributed file system with growl


Figure 15. Concept map for memory management with growl


Figure 16. Concept map for virtual memory with growl


Figure 17. Concept map for process concept with growl

Figure 17 is concept map for process concept in figure 16.

3.2.4  I/O Systems

There are two concept maps needed to cover this big concept: Mass storage structure (Figure 18) and I/O system structure (Figure 19).

Figure 18. Concept map for mass-storage structure with growl


Figure 19. Concept map for I/O structure with growl

3.2.5      Distributed Systems

Figure 20 shows the first level concept maps for distributed systems. There are distributed file system (Figure 14), distributed system structure overview (Figure 21), distributed system structure (Figure 22) and distributed coordination (Figure 23).

Figure 20. First level of Concept map for distributed systems with growl


Figure 21. Concept map for distributed systems structure overview with growl


Figure 22. Concept map for distributed systems structure with growl


Figure 23. Concept map for distributed coordination structure with growl

3.2.6      Protection and Security

Figure 24. Concept map for protection and security structure with growl