Important system components in linux kernel subsystems

Assignment Help Operating System
Reference no: EM13905641

Project

Organizational, Structural, Logical and Execution Relationships Between Important System Components in Linux Kernel Subsystems

A. Description of the Project

You are required to study the important system components, including important data structures, important functions and algorithms, and the various organizational, structural, logical and execution relationships between them, in one or more subsystems of the Linux kernel which provide some basic kernel functionality and clearly explain them. An important requirement is that you should try to draw as many as possible of your own diagrams, which illustrate, as many as possible of the following information:

A1. The names of the fields that connect the various data structures.

A2. Examples of data values in the various data structures which show their logical and structural connections.

A3. Which part of the system they belong, or are executed in. For example, kernel-space/user-space; in-memory/on-disk; kernel-mode/user-mode, etc.

A4. Organizational and structural relationships.

A5. Logical relationships.

A6. Flow of execution and/or decision making.

A7. Changes in data values and/or organization structure at different stages of execution.

A8. Any other organizational, structural, logical and execution relationships between the system components that may aid understanding of any important aspect of the subsystem(s).

B. Examples of Diagrams of Linux Kernel Components and Their Relationships

Example 1. The diagram illustrating the data structures of in-memory VFS objects and on-disk objects and their relationships on slide 24 of the lecture notes OSD.4. This diagram illustrates A1, A2, A4 and A5.

Example 2. The diagrams illustrating the data structures of the internal structure of a small file system tree in Unix on slides 9 and 10 of the lecture notes OSD.4. These diagrams illustrate A2, A4 and A5.

Example 3. The diagrams illustrating the data structures of the Unix file system directory on-disk organization on slides 12 and 13 of the lecture notes OSD.4. These diagrams illustrate A2, A4 and A5.

Example 4. The diagrams illustrating the VFS mount tree of vfsmount Structures on slide 72 of the lecture notes OSD.4. These diagrams illustrate A2, A4 and A5.

Example 5. The diagram illustrating the ext2_sb_info data structure in Figure 18-4 on page 752 of "Understanding the Linux Kernel" 3rd Edition. This diagram illustrates A1, A3, A4 and A5.

Example 6. The diagram illustrating an example of the Ext2 directory in Figure 18-3 on page 749 of "Understanding the Linux Kernel" 3rd Edition. This diagram illustrates A1, A2 and A4.

Example 7. The diagram illustrating a buffer page including four buffers and their buffer heads in Figure 15-2 on page 615 of "Understanding the Linux Kernel" 3rd Edition. This diagram illustrates A1, A4, and A5.

Example 8. The diagram illustrating data structures for file memory mapping in Figure 16-2 on page 659 of "Understanding the Linux Kernel" 3rd Edition. This diagram illustrates A1, A4, and A5.

Example 9. The diagram illustrating the most important data structures related to signal handling in Figure 11-1 on page 426 of "Understanding the Linux Kernel" 3rd Edition. This diagram illustrates A1, A4 and A5.

Example 10. The diagram illustrating adding or removing a linear address interval in Figure 9-1 on page 359 of "Understanding the Linux Kernel" 3rd Edition. This diagram illustrates A4, A5 and A7.

Example 11. The diagram illustrating invoking a system call in Figure 10-1 on page 400 of "Understanding the Linux Kernel" 3rd Edition. This diagram illustrates A3, A4, A5, A6 and A7.

Example 12. The diagram illustrating the flow diagram of the page fault handler in Figure 9-5 on page 378 of "Understanding the Linux Kernel" 3rd Edition. This diagram illustrates A5 and A6.

Example 13. The diagram illustrating kernel components affected by a block device operation in Figure 14-1 on page 561 of "Understanding the Linux Kernel" 3rd Edition. This diagram illustrates A4 and A5.

Example 14. The diagram illustrating linking the block device descriptors with the other structures of the block subsystem in Figure 14-3 on page 587 of "Understanding the Linux Kernel" 3rd Edition. This diagram illustrates A1, A4 and A5.

Example 15. The diagram illustrating the runqueue structure and the two sets of runnable processes in Figure 7-1 on page 268 of "Understanding the Linux Kernel" 3rd Edition. This diagram illustrates A1, A2 and A4.

All of the diagrams in the book "Understanding the Linux Kernel" 3rd Edition are good examples of different types of diagrams that can help readers understand various aspects of how the various subsystems of the Linux kernel that provide some basic kernel functionality works.

C. What to Hand In

1. You are required to hand in both a hard copy and an electronic copy of the written report on the project described in A, including all the diagrams you have drawn.

2. You are also required to hand in both a hard copy and an electronic copy of the Linux source code files that relate to the report on the project described in A, further subject to the conditions in 3, 4 and 5 below.

3. In the hard copy of the Linux source code files, you are required to use a fluorescen3.1. The names of the data structures and any specific fields of the data structures, which are illustrated in your diagrams or explained in your report.

3.2. The most important statements in the source code that perform the functions that are illustrated in your diagrams or explained in your report.

4. If the Linux source code files that relate to the report on the project described in A total more than 30 pages, then the hard copy of the Linux source code that you submit should include only the following (there is no such restriction on the size of the electronic copy of the Linux source code files that you submit):

4.1. The data structures and any specific fields of the data structures which are illustrated in your diagrams or explained in your report which describe the data structures, together with a list of the names of the ".h" header files and source code line numbers in which they can be found.

4.2. The most important statements in the source code that perform the functions that are illustrated in your diagrams or explained in your report together with the procedure/function names, and a list of the names of the ".c" program files and source code line numbers in which they can be found.

5. In all cases, for both the electronic copy and the hard copy of the Linux source code files, you should provide the Linux kernel version number, and the address of the website where the source code can be found related to the Linux kernel subsystem(s) you have chosen at
the beginning of your report.

You are required to use the utility "submit" to submit the electronic version of the above to the directory: /cs/course/4221/submit/project

The hard copy should be handed in by Friday December 10, 2010 24:00 midnight.

- either give it to the secretary in the Department of Computer Science and Engineering Office to be put into my mailbox; or you may slip it under the door of my office CSEB 3018 (in the latter case, you are responsible for making sure that the thickness of your hard copy allows it to be slipped under my office door).

D. Other Requirements

(a) You should try to organize your report in a way such that it is easy to understand and use. The reader should be able to find information on a particular topic as quickly as possible, and be introduced to important concepts and issues at a "higher level" first, before getting into "lower level" details.

(b) All the drawings must be produced electronically with a drawing program. All the drawings must be accompanied by figure numbers and captions.

(c) The report should contain in-text references to the portions of the highlighted source code in C.4.1. and C.4.2.above that are discussed in the report.

(d) The report must contain a table of contents, and must be clearly divided into sections and subsections, with section and subsection headings. Page numbers must be included.

(e) The report must clearly identify which sources of information you have used in which components of this assignment.

(f) If a good diagram/explanation on some aspect of the Linux kernel system/subsystem under consideration already exists in a book or paper that has been published by a publisher or posted on a website, you may include it together with the other drawings/explanations you have drawn/written yourself in your report; you may also add your own improvements on existing diagrams/explanations taken from various publications or postings. However, you must clearly identify the source of each original individual existing diagram/explanation that you have either improved upon or included with or without modification; and explain in detail exactly which improvements you have made to the original, if any, in your report. The identification and assembly of existing diagrams/explanations to form a more complete explanation of one or more subsystems of the Linux kernel is encouraged. If you have drawn a diagram or offered a written explanation that cannot be found anywhere else, you should explicitly identify it as such, as that is even more strongly encouraged.

(g) For this project, you should use some version of Linux kernel 2.6. You should indicate the particular version you are using, e.g., 2.6.11.

E. Evaluation of the Project

Your project will be evaluated according to:

(a) The quality, completeness, and originality of the diagrams, including how much information among A1-A8 listed above, have been illustrated for the important system components, including important data structures, important functions and algorithms, and the various organizational, structural, logical and execution relationships between them in the subsystem(s) of the Linux kernel that you have chosen to study.

(b) The overall quality, completeness, and originality of the combined graphical and written explanation, for the important system components, including important data structures, important functions and algorithms, and the various organizational, structural, logical and execution relationships between them in the subsystem(s) of the Linux kernel that you have chosen to study.

(c) The amount of effort and the degree of difficulty of the Linux kernel subsystem(s) involved.

(d) The clarity, readability and organization of the project report and importance/relevance of the highlighted portions of the provided Linux source code.

Reference no: EM13905641

Questions Cloud

Discussion of management''s ability to manage earnings : Discussion of management's ability to manage earnings in the long-term
Explain how purposeful movement enhances learning : Explain how purposeful movement enhances learning? a brief explanation and Discuss how Montessori Nurturesabstract thought, or the imagination in young children
Compute the amount that is charged as an expense : At the beginning of 2014, Aristotle Company acquired a mine for $845,160. Of this amount, $96,400 was ascribed to the land value and the remaining portion to the minerals in the mine. Compute the total amount of depletion for 2014. Compute the amount..
Long-term care insurance policy : Valentino is a patient in a nursing home for 49 days of 2015. While in the nursing home, he incurs total costs of $19,404. Medicare pays $11,642 of the costs. Valentino receives $21,344 from his long-term care insurance policy, which pays while he is..
Important system components in linux kernel subsystems : Organizational, Structural, Logical and Execution Relationships Between Important System Components in Linux Kernel Subsystems
How much must amy invest today : Amy Monroe wants to create a fund today that will enable her to withdraw $27,260 per year for 7 years, with the first withdrawal to take place 5 years from today. If the fund earns 9% interest, how much must Amy invest today?
Contributed equipment with fair market value : Liz contributed $80,000 of cash and land with a fair market value of $90,000 and an adjusted basis of $75,000. John contributed equipment with a fair market value of $170,000 and an adjusted basis of $20,000. John had previously used the equipment in..
Determine what the net income : During its first year of operations, Mack's Plumbing Supply Co. had sales of $3,250,000, wrote off $27,800 of accounts as uncollectible using the direct write-off method, and reported net income of $487,500. Determine what the net income would have b..
How much cash will komiko retain after taxes : How much cash will Komiko retain, after taxes, if she holds the investment for 15 years and then she sells when the long-term capital gains rate is 15 percent?

Reviews

Write a Review

Operating System Questions & Answers

  Implementation of algorithms for process management

The Shortest Job Next (SJN) algorithm queues processes in a way that the ones that use the shortest CPU cycle will be selected for running rst.

  Develop a user mode command interpreter

Develop a user mode command interpreter which support list-short.

  Memory allocation in operating system

Analysis and implementation of algorithms for memory allocation in operating system, Explain First- t and best- t methods are used in memory allocation in operating systems.

  Stand alone child process

Forking the child process

  Write a multi-threaded program

Write a multi-threaded program to solve producer and consumer problem

  Marginal and average cost curves

n a competitive market place (pure competition) is it possible to continually sell your product at a price above the average cost of production.

  Simulating operating systems scheduling

Simulate the long-term scheduler, the short-term scheduler and the I/O scheduler of the computer using the First-Come-First-Serve algorithm.

  Issues with trusted platform module

Research paper discussing the issues with Trusted Platform Module (TPM)

  Threads

Explain a complication that concurrent processing adds to an operating system.

  Design and programming

Use the semaphore methods to control the concurrency of the solution

  Virtual machines

Virtual machines supported by a host operating system

  Discuss an application that benefits barrier synchronization

Discuss an application that would benefit from the use of barrier synchronization

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd