Section 1: Operatinng Systems Question Research, investigate and document areas
ID: 3746238 • Letter: S
Question
Section 1: Operatinng Systems
Question
Research, investigate and document areas relating to process control management of any operating system of your choice. areas to be discussed in your research documentation to include among other areas, type of
1. scheduling mechanisms employed,
2. creating and handling of processes or threads and
3. internal systems structure, problems faced using these techniques of process control management and
4. solution used to overcome them.
(pre-emptive and non-pre-emptive, scheduling, algorithm - eplain which is best and worst)
Section 2: Computer Systems Architecture
Question
Research, investigate and document microprocessors of desktop machines, servers and laptops. Areas to be discussed in your research documentation to include among other areas are;
1. major trends affecting microprocessors performance and design in recent years
2. and differences between microprocessors design goals for laptops, servers, desktops and embedded systems.
this documentation should meet the following requirements:
1. table of contents for every detailed chapter/section.
2. Gantt chart
3. Abstract
4. Introduction
5. Chapters/ sections
6. conclusion
7. Frequently asked questions (FAQ)
8. Limitations/ Extensions
9. Appendices (Data Charts, Screen Captures and etc.)
10. References
Explanation / Answer
1.
Process control management:
Process management is a way to execute the process in the system in a better and efficient way such that there will not be any deadlocks formed while running them.
OS has to run several processes simultaneously. For this, OS maintains all the information about the process like its state, process number, program counter, registers etc.. in a well defined process structure called 'Process Control Block'.
Process control management of UNIX operating system:
UNIX has two types of processes: system processes and user processes. System processes run ien kernel mode and execute operating system code to perform administrative functions, such as memory allocation and process swapping. USer processes run in both kernel mode (to execute kernel related programs) and user mode (to execute user programs).
In Unix, new process is created using a kernel system call , fork(). When this is called, kernel generates a unique ID for the process, allots a slot in the process table and returns the process ID to the parent process. Later using a dispatcher mechanism process is either executed in kernel mode or the control is returned back to the user mode.
Unix scheduler uses CFS mechanism, i.e., Completely Fair Scheduling. The main concept behind this is tomaintain fairness/balance in providing processor time to tasks. This means processes should be given a fair amount of the processor. When the time for tasks is out of balance i.e., one or more tasks are not given a fair amount of time relative to others, then those out of balance tasks should be given time to execute.
CFS maintains a time-ordered red-black tree.A red/black tree is a binary search tree in which each node is colored either red or black. At the interface, we maintain three invariants: Ordering Invariant This is the same as for binary search trees: all the keys to left of a node are smaller, and all the keys to the right of a node are larger than the key at the node itself. Height Invariant The number of black nodes on every path from the root to each leaf is the same. We call this the black height of the tree.Color Invariant No two consecutive nodes are red.
UNIX is a multiprocessing, multiuser system. At any given point, you can have n number of processes running on UNIX. It is also very efficient at creating processes. Unix has preemptive multitasking, in which time slices are allocated by a scheduler which routinely interrupts or pre-empts the running process in order to hand control to the next one. Almost all modern operating systems support preemption.
Non-preemptive (also known as cooperative) mechanism typically manually yield control to let other threads run before they finish (though it is up to that thread to call yield() to make that happen.
Preemptive Scheduling means once a process started its execution, the currently running process can be paused for a short period of time to handle some other process of higher priority, it means we can preempt the control of CPU from one process to another if required.
The main advantage is that they ensure fairness to all jobs, regardless of its priority and also provide quick response time depending on the CPU time the job needs. Hence preemtive mechanism is best in real world use
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.