Instructions: This assignment consists of two (2) sections, Operating Systems (O
ID: 3757397 • Letter: I
Question
Instructions: This assignment consists of two (2) sections, Operating Systems (OS) and Computer Systems Architecture (CSA). Each section has a question; you are required to answer ALL The total word count of the report should range from 2500 to 3000 words. No marks will be awarded for the entire assignment if any part of it is found to be copied directly fronm printed materials or from another student. All submissions should be made on or before the due date. Any late submissions after the deadline will not be entertained. Zero (0) marlk will be awarded for late submission, unless extenuating circumstances are upheld Section I: Operating 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, types of 1. scheduling mechanisms employed 2. creation and handling of processes or threads and 3. internal systems structure, problems faced using these techniques of process control management and 4. solutions used to overcome them. (Pre-emptive and non-pre-emptive, scheduling, algorithm - explain 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 major trends affecting microprocessor performance and design in recent years and differences between microprocessors design goals for laptops, servers, desktops and embedded systems Guidelines for the Report: Document the results of your work in a professional and systematic manner, in the form of a computerized report. One (1) softcopy and hardcopy of your documentation is to be submitted.Explanation / Answer
Table of Contents
1. Abstract
2. Introduction
3. Operating System
4. Computer Systems Architecture
5. Conclusions
6. Frequently Ask Question
7. Limitations/Extensions
8. Appendices
9. References
Abstract
Operating system (OS) is system software that manages computer hardware and software resources. OS also provides common services for computer programs. Computer architecture is a set of rules and methods that describe the functionality, organization and implementation of computer systems. Computer architecture includes instruction set architecture design, microarchitecture design, logic design and implementation.
Introduction
Operating system (OS) is system software that manages computer hardware and software resources. OS also provides common services for computer programs. Time-sharing operating systems schedule tasks for efficient use of the system and may also include accounting software for cost allocation of processor time, mass storage, printing and other resources. Operating system is an intermediate between hardware and application.
Computer architecture is a set of rules and methods that describe the functionality, organization and implementation of computer systems. Computer architecture includes instruction set architecture design, microarchitecture design, logic design and implementation. Instruction set architecture is the interface between the computer’s software and hardware and also can be viewed as the programmer’s view of the machine.
Operating system
In computing, scheduling is the method by which work specified by some means is assigned to resources that complete the work. Scheduler is doing scheduling activity. Scheduling is done for the better utilization of computer resources. Scheduler having many goals like, maximizing throughput, minimizing time, minimizing latency or response time, maximizing fairness etc. Scheduler in an operating system will select next jobs submitted that means select next process to run. There are three types of schedulers, long term scheduler, mid-term or medium term scheduler and short-term scheduler.
Process scheduler is a part of the operating system that decides which process runs at a certain point in time. Long term scheduler decides which jobs or processes are to be admitted to the ready queue. Long term scheduling is important in large-scale systems such as batch processing systems. Medium term scheduler temporally removes processes from main memory and places them in secondary memory or vice versa. Short term scheduler decides which of the ready, in-memory processes iis to be executed after a clock interrupt an I/O interrupt an operating system call or another form of signal. Thus short term scheduler makes scheduling decisions much more frequently than the long-term or mid-term schedulers.
There are different types of scheduling algorithms such as, first come first served, shortest remaining time first, fixed priority pre-emptive scheduling, round robin scheduling etc. Fisrt come first served(FCFS) is also known as first in first out(FIFO) is a simplest scheduling algorithm. This is commonly used for a task queue. Task which comes first is processed first. Easy to understand and implement.Example is,
Process Burst time
P0 2
P1 3
P2 4
so gant chart will be look like,
P0 P1 P2
0 2 5 9
waiting time of P0 will be 0, P1 will be 2 and P2 will be 5
Shortest job first scheduling is a non-preemptive, pre-emptive scheduling algorithm.It is easy to implement in Batch systems where required CPU time is known in advance.
Process Arrival time Execute time Service time
P0 0 5 3
P1 1 3 0
P2 2 8 16
P3 3 6 8
Gant chart will be,
P1 P0 P3 P2
0 3 8 16 22
waiting time for P0 is 3, P1 is 0, P2 is 14 and P3 is 5. AVerage waiing time is 5.50.
Shortest remaining time first(SJF) is a scheduling algorithm which processes the process having shortest remaining time.
Fixed priority pre-emptive scheduling algorithm processes tasks according to the priority assigned to the process. Lower priority processes get interrupt by incoming higher-priority processes.
Round robin scheduling algorithm requires a tie quantum and according to the time quantum and the burst time processes are scheduled.
time quatum = 3
Process Arrival time Execute time Service time
P0 0 5 3
P1 1 3 0
P2 2 8 16
P3 3 6 8
Gant chart is,
P0 P1 P2 P3 P0 P2 P3 P2
0 3 6 9 12 14 17 20 22
waiting time for process P0 is 9, P1 is 2 , P2 is 12 and P3 is 11.And average waiting time is 8.5.
Tasks are usually assigned with priorities. At times it is necessary to run a certain task that has a higher priority before another task although it is running. Therefore, the running task is interrupted for some time and resumed later when the priority task has finished its execution. This is called preemptive scheduling. The preemptive scheduling is prioritized. The highest priority process should always be the process that is currently utilized. Round robin scheduling is the example. In non-emptive scheduling, a running task is executed till completion. It cannot be interrupted. When a process enters the state of running, the state of that process is not deleted from the scheduler until it finishes its service time.First in first out is example of non-preemptive scheduling.
Computer System Architecture
Computer architecture is a set of rules and methods that describe the functionality, organization and implementation of computer systems. The discipline of computer architecture has three main subcategories.
The ISA defines the machine code that a processor reads and acts upon as well as the word size, memory address modes, processor registers, and data type.
There are other types of computer architecture.
* Macroarchitecture: architectural layers more abstract than microarchitecture
* Assembly Instruction Set Architecture (ISA): A smart assembler may convert an abstract assembly language common to a group of machines into slightly different machine language for different implementations
* Programmer Visible Macroarchitecture
* Pin Architecture
An instruction set architecture (ISA) is the interface between the computer's software and hardware and also can be viewed as the programmer's view of the machine. Computers do not understand high-level programming languages such as Java, C++, or most programming languages used. A processor only understands instructions encoded in some numerical fashion, usually as binary numbers. Software tools, such as compilers, translate those high level languages into instructions that the processor can understand.
Once an instruction set and micro-architecture are designed, a practical machine must be developed. This design process is called the implementation. Implementation is usually not considered architectural design, but rather hardware design engineering. Implementation can be further broken down into several steps:
* Logic implementation
* Circuit implementation
* Physical implementation
* Design validation
A microprocessor is a computer processor that incorporates the functions of a central processing unit on a single integrated circuit (IC). The internal arrangement of a microprocessor varies depending on the age of the design and the intended purposes of the microprocessor.
Over the years Intel has created many microprocessors to suite their customers’ needs and environment. However, with highly competitive processor, there are some major trends affecting the microprocessor performance such as:
* Increasing number of Cores
Today, many computer users would like to have their desktops or PC’s to handle massive computing and visualization workloads. This can be only done using the powerful multi-core technology or using a multi-core processor.
* Clock Speed
Clock speed is defined as the frequency that a processor executes instructions or data is processed. The clock speed is measured in megahertz (MHz) or gigahertz (GHz) It is a quartz crystal which vibrates that send beat or pulse to each component that synchronized with it.
* Number of Transistors
The number of transistors available on the microprocessor has a massive effect on the performance of CPU; in the microprocessor 8088 takes about 15 clock cycles to execute instructions, with this we can assume that on one 16-bit multiplication of the 8088 processors it takes about 80 cycles.
Conclusions
Operating system (OS) is system software that manages computer hardware and software resources. OS also provides common services for computer programs. There are different types of scheduling algorithms and they have their own advantages and disadvantages. Computer architecture is a set of rules and methods that describe the functionality, organization and implementation of computer systems. Computer architecture includes instruction set architecture design, microarchitecture design, logic design and implementation.