Computer Architecture Operating Systems Presented By: 1.Randunu Dimeshan (CL/HDCSE/96/02) 2.Ravishankar Thanushan (CL/HDCSE/96/37) 3.Mohamed Shamil (CL/HDCSE/96/21) 4.Madusha Alawattegama (CL/HDCSE/96/11) • 1. Operating Systems 1.1 What is an operating system 1.2 Different types of operating systems • 2. Features in Operating Systems 2.1 The Interrupt 2.2 Virtual Memory 2.3 Direct Memory Access • 3. Functions in Operating Systems Table of Content 3.1 Memory management 3.2 File management 3.3 Control over system performance • 4. Advantages of a microprocessor system • 5. Operating System related terms 5.1 Kernel 5.2 Scheduler • 6. References 1.Operating System 1.1 What is an Operating System An operating system is a software installed on a computer's hard drive that enables the computer hardware to communicate and operate with the computer software. The software which acts as an interface between the end user and computer hardware. (Computer Hope, 2021) Ex- Windows MAC Linux Ubuntu 1.2 Different Types of Operating System 1) 2) 3) 4) 5) 6) 7) Batch Operating System Multitasking/Time Sharing OS Multiprocessing OS Real Time OS Distributed OS Network OS Mobile OS 1.2.1 Batch Operating System Some computer processes are very lengthy and time-consuming. To speed the same process, a job with a similar type of needs are batched together and run as a group. (Guru99, 2021) OS loaded and executed programs in tape one at a time.At the end of entire batch of programs, output tape was printed with an inexpensive machine. EgPayroll system Bank statements Advantages multiple users can share the batch system. The idle time for the batch is very less. It's easy to manage large group of batch system. 1.2.2 Multitasking/Time Sharing OS The operating system which allows to run multiple tasks simultaneously. The processor time (CPU) which is shared among multiple users is termed as time sharing. (Guru99, 2021) The main objective is to minimize response time. ExWindows MAC Linux Ubuntu Advantages ❖ A computer user can save his time. ❖ Better program error endling. ❖ Better usage of resource and save idle time. 1.2.3 Multiprocessing OS Usage of two or more central processing units parallelly within a single computer system. and sharing relevant resources to gather. A multiprocessing operating system is capable of running Lot of programs at the same time. most of the modern operating systems support multiprocessing. (computer notes, 2021) ex:Windows Linux Mac OS Unix Advantages COST EFFECTIVE SYSTEM. PARALLEL PROCESSING SYSTEM. HIGH RELIABILITY. 1.2.4 Real Time OS Advantages Error free on task handling. Focus on given application. Best memory allocation. 1.2.5 Distributed OS Distributed operating system allows distributing of entire systems on the couples of Center processors, and it can be access by multiple user. processors in this system vary in size and its functions too, they are referred as nodes, sites, computers. (GeekforGeeks, 2019) ExLOCUS Micros IRIX Advantages Better service to the customer. Speed in exchange process. Easy to share resources. The software which allows multiple devices within a network to communicate and share resources with each other. 1.2.6 Network OS These systems run on a server and provide the capability to manage data, user, groups, security, application, and other networking functions too. (GeekforGeeks, 2019) EgMicrosoft Windows Server 2012 Mac os X Linux Advantages Easy to access new resources. Server easily accessible through virtually . Provide best security to entire setup. 1.2.7 Mobile OS Mobile OS present as a graphical display of buttons, icons, windows, and tiles that you can touch or interact with to perform various tasks. All hardware components are packed to one tiny circuit. The operating system which is designed to power mobile, Tablets and Wearables platforms. (Dotdash, 2020) Ex- Android Ios Blackberry OS Advantages user friendly os. easy to customize. run many apps at the same time like Computers. What is Von Neumann Architecture 2. Features of Operating System The Von Neumann architecture used to be an individual point of shared memory required by the software applications and its data processing operations. The Von Neumann processing is a single bus used for accessing the memory and also an unit of arithmetic. It also known as program control unit. The fetching and executing cycle will be seriously executed by the Von Neumann processors. Architecture Techniques 1. 2. 3. The Interrupt Virtual Memory Direct Memory Access (DMA) 2.1 The Interrupt This is a mechanism used for which, the memory or modules such as I/O may get interrupted. Basically, Interrupts are known also as the processor’s response to a particular software application running on the machine. An interrupt will alert the processors as requests for the processors to interrupt the currently executing application whenever required. In that case the particular running event can be processed or executed in timely manner. Basically, when a program stops responding, the thread will have to continuously have to be focused on this particular application. And this will consume more memory and processing resources as well. So, this is where the Interrupts come in to the play. The interrupts will sense the signal and accordingly the computer will be turned to either to continue with the running program or to terminate it or to run a new task. Today, all the modern computers are interrupt-driven computers. Usually, computers can perform only one task at a time, but just because of these can be interrupted, it could take turns and run. This is known as multitasking. Multiple tasks or instructions being ran at once. The operating systems uses interrupt-handler events to manage the interrupts. The interrupt handlers will prioritize the and process the interrupts in a queue. Virtual memories are a set of volatile memory which will be created in the hard drive of a computer. This is usually used when the RAM of the computer is lesser. In other words, if a computer needs memory power, more than what it already has, then without installing a physical / hardware RAM (memory), this option can be enabled. 2.2 Virtual Memory If this function is activated in the operating system, then the hard disk space, from the location which we have specified, a slot of memory will be locked and will be used for system processing memory power. For example, if the computer only has 4Gb of a RAM, then by turning on this feature a virtual memory of 16Gb could be allocated, so, this 16Gb space will be locked in the hard drive. This way the computer performance can be increased. 2.3 Direct Memory Access (DMA) Without the participation of the processor, DMA (Direct Memory Access) will transfer the data across the memory and the connected devices in the computer. The unit which controls and handles the activities of accessing memory direct is known as Direct Memory Access (DMA). For few clock cycles, the processor will be relinquished the system bus. Because of this DMA can achieve the operation of the data transferring through the system bus. CPU will receive a HOLD request also known as HLD, from the DMA, and renounces bus and then sends the HOLD acknowledgement, also known as HLDA to the DMA. Once the HLDA has been received, the DMA will acknowledge the connected I/O device and the transferring process of the data can be accomplished, hereafter the DMA will take control of the system bus and the transfer data from the memory or to the memory. As soon as the the data transferring task is done, then the DMA will trigger an Interrupt to make the processor aware about the completion of the data transfer, afterwards the processor will take charge over the bus once again. 3. Functions in Operating Systems 3.1 Memory Management Memory management is the process of an OS that manages the memory allocation in the primary memory of a computer and moving the computing processes between the main memory and secondary/storage memory. (Tutorialspoint.com, 2020) Single contiguous Allocation- most straightforward technique is available. The entire available memory, except a small portion reserved for the OS functionality, will be assigned for one program. MS-DOS is an example. Partitioned Allocation- this divides the primary memory into partitioned memory blocks, each block containing all the instructions to run a specific task or a job. Memory management techniques Paged Memory Management-this This divides the memory into fixedsize units called page frames. The pages belonging to a given process are placed into available memory frames. Segmented Memory Management- this breaks the virtual address of a single process into segments, which gets placed in non-linear and noncontiguous areas of physical memory. A file management system is a system that maintains files on a computer. An example of a file management system is Windows Explorer in Windows OS. It can perform tasks such as file creation, modification, file detail, ownership management, and deletion. Furthermore, it helps with sharing the files between users, storing them in directories, and queuing them for processing. (Shukla, 2017) A file management system is based on a few concepts. 3.2 File Management 1.File Attributes- this specifies a file's characteristics, such as the date it was created, the disk's location, the date it got modified, etc. It helps the user to locate the file and understand the value it. 2. File operation - Tasks such as opening a file or closing a file. 3. File access permission- It manages the licenses such as read and writes. 4.File systems- it specifies the method of file storage in a computer drive such as NTFS or FAT32. 3.3 Control over system performance 4. Advantages of a microprocessor system A microprocessor is a logical processor in a silicon chip embedded with a Central Processing Unit (CPU). It is the main component of a computer system—this what brings your computer into life when you turn it on. A microprocessor handles all the arithmetic and logic operations of a computer system. Its main work is taking some input data and instructions, process the data as per the instructions, and output the data. Figure 4: A microprocessor system There are many advantages to a microprocessor system. • Speed: They can process data faster than any human could. The rate is calculated with Hertz. Most modern processors operate around 3.7Ghz, and an overclocked gaming microprocessor can safely achieve speeds up to 5Ghz. That is five billion calculations per second. • Multitasking: The type of multitasking used by the microprocessors today is called pre-emptive multitasking. It works by interrupting each program and passing control onto another one. Due to the speeds mentioned above, they can swap between the tasks and operations faster. There are multiple-core microprocessors in the market, which makes this task-swapping process faster. • Efficiency and Reliability: Microprocessor systems can run nonstop 24/7 and even work in conditions that a human would not be able to. And the outputs are consistent and error-free. • Compact: Modern microprocessor systems are relatively small, making the computing systems even smaller. 5. Operating System Related Terms Kernel Scheduler 5.1 Kernel Every operating system has a core program called “Kernel” which is the most important part of the OS. Anything that happens on the computer has to go through it to function properly. Kernel loads first into memory when an operating system is loaded and remains in the memory until operating system is shut down again. The Kernel acts as a translator between software and hardware, it translates the input/output requests from software into an instructions set for the CPU and GPU Basic Kernel Structure Kernel is simply a layer between software and hardware which makes everything possible Functions of a Kernel These are the main functions which the Kernel performs 1. Process management - The creation, execution, and termination of processes keep on going inside the system whenever a system is in the ON mode. 2. Memory Management - The kernel keeps track of the used memory and allocates the remaining memory to the other processes. 3. Device Management - Every component connected to the system including I/O devices are managed by the kernel. 4. Interrupt Handling - The kernel will interrupt an ongoing task if another task with higher priority should be executed at that exact moment. 5. I/O communication - The kernel handles all the information entered by the user and all the information provided to the user by the system. 5.2 Scheduler • Schedulers in Operating Systems are the process which decide which task should run at a given time. • They are vital in maintaining highest possible system performance and is crucial in maintaining the multi tasking abilities of a computer. • They are algorithms in the operating system with the purpose of optimizing the system to get the maximum performance. They are algorithms in the operating system with the purpose of optimising the system to get the maximum performance. Basic structure of a Scheduler There are 3 main types of Schedulers Types of Schedulers in an OS 1. Long term scheduler - Long term schedulers run less frequently, and their job is to decide which program gets into the job queue. 2. Short term scheduler - Short term schedulers run more frequently, and they are also called CPU schedulers. Their main goal is to improve CPU performance and process execution rate. 3. Medium term scheduler - Medium term schedulers carry out a process called “swapping”. They remove a program from the memory and then reintroduce it to the memory to be continued from where it was left off. This process is important when memory needs to be freed up due to a change in memory requirements. 6. References DigitalThinker, 2020. What is Multiprocessor Operating System:. [Online] Available at: http://digitalthinkerhelp.com/what-is-multiprocessor-operating-system-and-its-examples/ [Accessed 28 January 2021]. Computer Hope, 2021. Operating system. [Online] Available at: https://www.computerhope.com/jargon/o/os.htm [Accessed 8 January 2021]. Computer Notes, 2021. Definition Multiprocessor Operating System. [Online] Available at: https://ecomputernotes.com/fundamental/disk-operating-system/multiprocessor-operating-system [Accessed 8 January 2021]. Dotdash, 2020. What Is a Mobile Operating System?. [Online] Available at: https://www.lifewire.com/what-is-a-mobile-operating-system-2373340 [Accessed 8 January 2021]. GeekforGeeks, 2019. Types of Operating Systems. [Online] Available at: https://www.geeksforgeeks.org/types-of-operating-systems/ [Accessed 8 January 2021]. Guru99, 2021. What is Operating System? Types of OS, Features and Examples. [Online] Available at: https://www.guru99.com/operating-system-tutorial.html [Accessed 8 January 2021]. IT Release, 2020. What are advantages and disadvantages of real time operating systems. [Online] Available at: https://www.itrelease.com/2014/07/advantages-disadvantages-real-time-operating-systems/ [Accessed 8 January 2021]. IT Release, 2021. Advantages and disadvantages of android operating system. [Online] Available at: https://www.itrelease.com/2019/09/advantages-and-disadvantages-of-android-operating-system/ [Accessed 8 January 2021]. IT Release, 2021. Advantages and disadvantages of computer multitasking. [Online] Available at: https://www.itrelease.com/2018/07/advantages-and-disadvantages-of-computer-multitasking/ [Accessed 8 January 2021]. IT Release, 2021. Advantages and disadvantages of network operating system. [Online] Available at: https://www.itrelease.com/2017/01/advantages-disadvantages-network-operating-system/ [Accessed 8 January 2021]. Tutorialspoint, 2019. Distributed operating System. [Online] Available at: https://www.tutorialspoint.com/distributed-operating-system [Accessed 8 January 2021]. Tutorialspoint.com. (2020). Operating System - Memory Management. Retrieved from Operating System - Memory Management: https://www.tutorialspoint.com/operating_system/os_memory_management.htm Shukla, A. (2017, August 14). File Management in Operating System. Retrieved from www.includehelp.com: https://www.includehelp.com/operating-systems/file-management-in-operating-system.aspx GeeksforGeeks. 2021. Kernel In Operating System - Geeksforgeeks. [online] Available at: <https://www.geeksforgeeks.org/kernel-in-operating-system/> [Accessed 8 January 2021]. Tutorialspoint.com. 2021. Different Types Of Process Schedulers. [online] Available at: <https://www.tutorialspoint.com/different-types-of-process-schedulers> [Accessed 8 January 2021]. Techtud.com. 2021. Different Types Of Schedulers | Techtud. [online] Available at: <https://www.techtud.com/computer-science-and-information-technology/operating-system/process-scheduling/different-types> [Accessed 8 January 2021] . PREP INSTA. 2021. Process Scheduling In Operating System (OS) » PREP INSTA. [online] Available at: <https://prepinsta.com/operating-systems/process-scheduling/> [Accessed 8 January 2021]. Includehelp.com. 2021. Kernel In Operating System. [online] Available at: <https://www.includehelp.com/operating-systems/kernel.aspx> [Accessed 8 January 2021] .The Windows Club. 2021. What Is A Kernel In OS? What Are The Types Of Kernel?. [online] Available at: <https://www.thewindowsclub.com/what-is-a-kernel-in-os-what-are-the-types-of-kernel> [Accessed 8 January 2021]. Sciencedirect.com. 2021. Von Neumann Architecture - An Overview | Sciencedirect Topics. [online] Available at: <http://sciencedirect.com/topics/computer-science/von-neumannarchitecture#:~:text=The%20Von%20Neumann%20architecture%20consists,fetching%20an d%20execution%20cycles%20seriously.&text=The%20floatingpoint%20processor%20uses%20the%20floating-point%20arithmetic.> [Accessed 1 January 2021]. WhatIs.com. 2021. What Is Interrupt? - Definition From Whatis.Com. [online] Available at: <https://whatis.techtarget.com/definition/interrupt> [Accessed 1 January 2021]. BBC Bitesize. 2021. Virtual Memory - CPU And Memory - GCSE Computer Science Revision - BBC Bitesize. [online] Available at: <https://www.bbc.co.uk/bitesize/guides/zmb9mp3/revision/8> [Accessed 1 January 2021]. T, N., 2021. What Is Direct Memory Access (DMA)? DMA Controller, Block Diagram, Advantages & Disadvantages - Binary Terms. [online] Binary Terms. Available at: <https://binaryterms.com/direct-memory-accessdma.html#:~:text=Direct%20Memory%20Access%20Advantages%20and%20Disadvantages &text=Transferring%20the%20data%20without%20the,the%20overhead%20of%20the%20p rocessor.> [Accessed 1 January 2021].