Download Operating system asm and more Study Guides, Projects, Research Operating Systems in PDF only on Docsity!
PROGRAM TITLE: BTEC in Computing (Network Engineering) UNIT TITLE: ASSIGNMENT NUMBER: ASSIGNMENT NAME: Operating Systems SUBMISSION DATE: DATE RECEIVED: TUTORIAL LECTURER: Dao Viet Phuong WORD COUNT: 8346 STUDENT NAME: Ngo Minh Tuan STUDENT ID: BKC 12294 MOBILE NUMBER: 0379681318
Summative Feedback:
A. Table of content.
- Different Operating System and their functions and user interfaces. Contents
- I. What is Operating System?
- II. Evolution of Operating Systems.
- III. Importance of Operating Systems.
- Processes managed by an Operating System.
- IV. Memory management in OS.
- V. Process of job scheduling.
- VI. Importance of Resource Management............................................................................
- VII. Algorithm that can be used to manage resources in an Operating System.
B. Content.
Different Operating System and their functions
and user interfaces.
I. What is Operating System?
a) Definition.
- An operating system (OS) is the program that, after being initially loaded into the computer by a boot program, manages all of the other application programs in a computer.
- The OS acts as an intermediary between the user of a computer and computer hardware. The purpose of an operating system is to provide an environment in which a user can execute programs conveniently and efficiently.
- The application programs make use of the operating system by making requests for services through a defined application program interface (API).
- An operating system is a software that manages computer hardware. The hardware must provide appropriate mechanisms to
1. User Interface (UI). Every operating system requires a UI, enabling users and administrators to interact with the OS in order to set up, configure and even troubleshoot the operating system and its underlying hardware. There are two primary types of UI available: CLI and GUI. The CLI, or terminal mode window, provides a text-based interface where users rely on the traditional keyboard to enter specific commands, parameters and arguments related to specific tasks. The GUI, or desktop, provides a visual interface based on icons and symbols where users rely on gestures delivered by human interface devices, such as touchpads, touchscreens and mouse devices. The GUI is most frequently used by casual or end users that are primarily interested in manipulating files and applications, such as double-clicking a file icon to open the file in its default application. The CLI remains popular among advanced users and system administrators that must handle a series of highly granular and repetitive commands on a regular basis, such as creating and running scripts to set up new personal computers (PCs) for employees. 2. Resource Management. Devices connected to a computer system, such as memory, storage, I/O devices etc. are called resources of the computer. Operating system controls these resources and enables efficient use of available resources so that the system never runs out of its resources. Operating system not only controls these resources but also detect malfunctioning of the resources, checks status and connects resources to each other. For example: As the OS recognizes and identifies hardware, the OS will install corresponding device drivers that enable the OS and applications running on the OS to use the devices without any specific knowledge of the hardware or devices. An operating system is responsible for identifying the correct printer and installing the appropriate printer drivers so that an application needs to only make calls to the printer without having to use codes or commands that are specific to that printer -- that is the operating system's job. The situation is similar for other devices, such as USB ports; networking ports; graphics devices, such as graphics processing units (GPUs); motherboard chipsets; and storage devices, such as Serial-Attached SCSI (SAS) disk adapters and disks that are formatted with a suitable file system. 3. Task Management. The task management program of any operating system takes instruction, analyse it and processes it. Task management uses the power of computer processor and distributes it to various tasks, controls interrupts. An operating system handles the launch and management of every application. This typically supports an array of behaviours, including timesharing multiple processes, or threads, so that various tasks can share the
available processors' time; handling interruptions that applications produce to gain a processor's immediate attention, ensuring there is enough memory to execute the application and its corresponding data without interfering with other processes; carrying out error handling that can gracefully remove an application's processes; and performing memory management without disrupting other applications or the OS.
4. File Management. Operating system manages files on the computer, such as creating, deleting, accessing, coping, moving, storing files etc. It also manipulates data and programs such as, sending and receiving data, moving and storing data etc. 5. Utilities. Operating system provides various utilities to the user and other programs such as defragmenting files, data compression, data backup and recovery, anti-virus utilities etc. **c) Types of Operating System.
- Batch Processing Operating System.**
- Batch operating system is a very time consuming and time-consuming process. To speed the same process, work with the same type of requirements is combined and performed as a group. The user of the batch operating system has no direct contact with the computer because the interaction between a user and the computer does not occur in this system. The user is required to prepare jobs on punch cards in the form of batches and submit them to the computer operator. The computer operator sorts the jobs or programs and keeps similar programs or jobs in the same batch and run as a group to speed up processing. It is designed to execute one job at a time. Jobs are processed on a first-come, first-serve basis, i.e., in the order of their submission without any human intervention.
- For example, the credit card bill generated by banks is an example of batch processing. A separate bill is not generated for each credit card purchase, rather a single bill that includes all
- Each user gets the processor's time as they get while using a single system. The duration of time allocated to a task is called quantum or time slice; when this duration is over, OS starts the next task.
- Advantages and disadvantages of time-sharing operating system: Advantage Disadvantage It reduces CPU idle time and thus makes it more productive. Each process gets the chance to use the CPU. It allowed different applications run simultaneously. It requires a special operating system as it consumes more resources. Switching between tasks may hang up the system as it serves lots of users and runs lots of applications at the same time, so it requires hardware with high specifications. It is less reliable. 3. Distributed Operating System.
- Distributed operating systems are similar to time-sharing systems, in which multiple processors located in multiple locations are used by distributed systems to provide faster computing for users.
- It uses or runs on multiple independent processors (CPUs) to serve multiple users and multiple real-time applications. The communication between processors is established through many communication lines such as telephone lines and high-speed buses. The processors may differ from each other in terms of size and function.
- The availability of powerful microprocessor and advanced communication technology have made it possible to design, develop, and use the distributed operating system. Besides this, it is an extension of a network operating system that supports a high level of communication and integration of machines on the network.
- Advantages and disadvantages of distributed operating system: Advantage Disadvantage Its performance is higher than a single system as resources is being shared. If one system stops working, malfunctions, or breaks down, other nodes are not affected. Additional resources can be added easily. Shared access to resources like printer can be established. Delay in processing is reduced to a greater extent. Data sharing or exchange speed is high, owing to the use of electronic mail. Security issue may arise due to sharing of resources Few messages may be lost in the system Higher bandwidth is required in case of handling a large amount of data Overloading issue may arise The performance may be low The languages which are used to set up a distributed system are not well defined yet They are very costly, so they are not easily available. 4. Network Operating System.
- The military and space software system are a real-time operating system with a minimum response time to seek and execute input commands.
- It is developed for real-time applications where data should be processed in a fixed, small duration of time. It is used in an environment where multiple processes are supposed to be accepted and processed in a short time. RTOS requires quick input and immediate response, e.g., in a petroleum refinery, if the temperate gets too high and crosses the threshold value, there should be an immediate response to this situation to avoid the explosion. Similarly, this system is used to control scientific instruments, missile launch systems, traffic lights control systems, air traffic control systems, etc.
- This system is further divided into two types based on the time constraints:
- Hard Real-Time Systems: These are used for the applications where timing is critical or response time is a major factor; even a delay of a fraction of the second can result in a disaster. For example, airbags and automatic parachutes that open instantly in case of an accident. Besides this, these systems lack virtual memory.
- Soft Real-Time Systems: These are used for application where timing or response time is less critical. Here, the failure to meet the deadline may result in a degraded performance instead of a disaster. For example, video surveillance (cctv), video player, virtual reality, etc. Here, the deadlines are not critical for every task every time.
- Advantages and disadvantages of real-time operating system: Advantage Disadvantage The output is more and quick owing to the maximum utilization of devices and system A fewer number of tasks can run simultaneously to avoid errors.
Task shifting is very quick, e.g., 3 microseconds, due to which it seems that several tasks are executed simultaneously Gives more importance to the currently running applications than the queued application It can be used in embedded systems like in transport and others. It is free of errors. Memory is allocated appropriately. It is not easy for a designer to write complex and difficult algorithms or proficient programs required to get the desired output. Specific drivers and interrupt signals are required to respond to interrupts quickly. It may be very expensive due to the involvement of the resources required to work.
II. Evolution of Operating Systems.
- A basic operating system was developed in the late 1950s, there was no modern and complex Operating system form until 1960, when IBM introduced OS / 360, which was used for Apollo11 programs and that can still be used in a modern system. Operating system development began. The 1950s are now developing into a fast artificial intelligence assessor, it was integrated into the operating system to make it more efficient. 1. 𝟎𝒕𝒉^ Generation.
- The term 0th^ generation is used to refer to the period of development of computing when Charles Babbage invented the Analytical Engine and later John Atanasoff created a computer in
- The hardware component technology of this period was electronic vacuum tubes. There was no Operating System available for this generation computer and computer programs were written in machine language. This computers in this generation were inefficient and dependent on the varying competencies of the individual programmer as operators. 2. The first generation (1945- 1955): Vacuum tubes and Plug boards. Digital computers were not built until World War II. Calculation engines with mechanical relays were built at that time. However, the mechanical relay was too slow and was later replaced by vacuum tubes. These machines were huge, but still very slow. These early computers were designed, built and maintained by people from the same group. Programming languages were unknown and there were no operating systems, so all programming was done in the machine language. All problems were simple numerical calculations. In the 1950s, perforated cards were introduced and this improved the computer system. Instead of using a plug board, programs were written on a card and read on the system. 3. The Second Generation (1955- 1965): Transistors and Batch Systems. Transistors led to the development of computer systems that could be manufactured and sold to pay customers. These machines were known as
such as managing memory, processors, and devices, and they provide a user interface that allows humans to interact with the system.
- Operating systems are important for a number of reasons. First, they provide a layer of abstraction between the computer hardware and the software that runs on it. This abstraction makes it possible for software developers to write code that is portable across different types of hardware. Additionally, operating systems provide a variety of important services that make it easier for users to interact with the system and manage their files and data.
- Second, operating systems help to manage the underlying hardware of a computer system. They keep track of the various resources that are available, such as memory, processors, and devices, and they allocate these resources to the various software applications running on the system. Additionally, operating systems provide a number of features that make it easier for users to interact with the system, such as a user interface and a set of tools for managing files and data.
- Finally, operating systems play a critical role in security. They help to protect the computer system from unauthorized access and provide a mechanism for controlling what software can run on the system. Additionally, operating systems can help to isolate different software applications from each other, which helps to prevent one application from interfering with or damaging another.
- One example of a service that operating systems provide is called virtualization. Virtualization is a technique that allows multiple operating systems to run on the same computer hardware. This can be useful for a number of reasons, such as enables the use of different operating systems on the same computer different users to run different operating systems, or allowing different operating systems to be isolated from each other.
- Below is function that makes an operating system useful for users and commercial use which are as follows: 1. Networking: The operating system allows other users to transfer or share files into our system in the network in which they don’t physically share hardware device. The operating system implementation of TCP/IP protocols to communicate over network, it automatically enables ethernet or wireless connection. For mobile device operating system uses Wi-Fi or Bluetooth or Hotspot to connect over a network for file sharing, downloading through network, etc. In early days of operating system evolution their special operating system built for sharing data over a network, but nowadays network sharing and connection is an in- built function overall operating system service. We can build a private network in the operating system for home networking, now the operating system allows an VPN (Virtual Private Network) for computer system. There is different operating system service which provides network connection which are as follows:
Mac OS operating system it uses Snow Leopard for sharing over network. Windows have a network and sharing center in control panel for networking purposes. Linux has wide range of features in networking such as routing, configuration and many other features.
2. File Management: A file is collection of information related record of secondary storage such as magnetic disks, magnetic tapes and hard drives. The file is sequence of bits, lines, bytes or records. The operating system manages the all files present in computer system it keeps files in structure, allows to store different types of files and space allocation to files this all is known as file management. A file structure should be according to operating system that it can understand. A text file which is sequence of characters organized in it, also program source file is sequence of procedures and functions. The operating system file management has file access mechanism in which manner the records of the file should be accessed such as sequential access where file records can be accessed in sequential manner and direct or random access in which user can randomly access file organization then direct access to records of the files. There is allocation of memory space to a file in the computer system, there are three ways of memory space allocation to files which is as follows: Contiguous Allocation: In this each file occupies contiguous address space in disk and then it assigns disk address to file in linear order. Linked Allocation: In this each file carries list of links to disks and then directory which contain links to first block of file. Indexed Allocation: In this each file has its own index block and address of disk space occupied by a file. In directory it contains addresses of the index blocks. 3. Handling I/O operation: The operating system handles various input/output operation such as mouse, keyboard, disk drivers, USB devices and many other input/outputs operations. In I/O system it requires to an application to send and request it to its physical states and then take whatever response it gets. There are two types of devices in I/O devices which is as follows: Character devices: These devices communicate by sending and receiving single characters for example parallel port, serial port, sound cards, etc. Block devices: These devices communicate by sending an entire block of the data for example: - USB drives, hard disks, external storage, etc.
during execution. Memory management keeps track of each and every memory location, regardless of either it is allocated to some process or it is free. It checks how much memory is to be allocated to processes. It decides which process will get memory at what time. It tracks whenever some memory gets freed or unallocated and correspondingly it updates the status.
- Memory Management is required because: Allocate and de-allocate memory before and after process execution. To keep track of used memory space by processes. To minimize fragmentation issues. To proper utilization of main memory. To maintain data integrity while executing of process. b) Methods involved in Memory Management.
- Memory management technique is needed for the following reasons: This technique helps in placing the programs in memory in such a way so that memory is utilized at its fullest extent. This technique helps to protect different processes from each other so that they do not interfere with each other's operations. It helps to allocate space to different application routines. This technique allows you to check how much memory needs to be allocated to processes that decide which processor should get memory at what time. It keeps the track of each memory location whether it is free or allocated. This technique keeps the track of inventory whenever memory gets freed or unallocated and it will update the status accordingly.
- There are various methods and with their help Memory Management can be done intelligently by the Operating System: 1. Swapping.
- Swapping is a method in which the process should be swapped temporarily from the main memory to the backing store. It will be later brought back into the memory for continue execution.
- When a process is executed, it must have resided in memory. Swapping is a process of swap a process temporarily into a secondary memory from the main memory, which is fast as compared to secondary memory.
- A swapping allows more processes to be run and can be fit into memory at one time. The main part of swapping is transferred time and the total time directly proportional to the amount of memory swapped.
- Swapping is also known as roll-out, roll in, because if a higher priority process arrives and wants service, the memory manager can swap out the lower priority process and then load and execute the higher priority process. After finishing higher priority work, the lower priority process swapped back in memory and continued to the execution process.
- Benefits of Swapping: It offers a higher degree of multiprogramming. Allows dynamic relocation. For example, if address binding at execution time is being used, then processes can be swap in different locations. Else in case of compile and load time bindings, processes should be moved to the same location. It helps to get better utilization of memory. Minimum wastage of CPU time on completion so it can easily be applied to a priority-based scheduling method to improve its performance.