Operating Systems Coordonator: Dr. Z. Pólkowski Siposs Arnold Konrad Description • An operating system or OS is a software that enables the computer hardware to communicate and operate with the computer software. Without a computer operating system, a computer and software programs would be useless. • For hardware functions such as input, output and memory allocation, the operating system acts as an intermediary between programs and the computer hardware, although the application code is usually executed directly by the hardware and frequently makes system calls to an OS function or be interrupted by it Source: http://en.wikipedia.org/wiki/Operating_system Basic information • The operating system is also responsible for security, ensuring that unauthorized users do not access the system. Source: http://www.webopedia.com/TERM/O/operating_system.html Types of OS • As computers have progressed and developed, so have the operating systems. Below is a basic list of the types of operating systems and a few examples of operating systems that fall into each of the types • There exist four types of operating systems which are based on the type of computer they control and the sort of applications they support. Source: http://www.computerhope.com/os.htm Single-user, Single-task OS • This type manages the computer so that one user can effectively do one thing at a time. • This type is especially owrking on mobiel phones. Source: http://senseoftech.com/how-to-understand-the-operating-system-of-your-computer/ Multi-user, Multi-task OS • Allows two or more users to run programs at the same time. Some operating systems permit hundreds or even thousands of concurrent users. Source: http://mylinuxexplore.blogspot.com/2012/06/light-linux-distribution-series-puppy.html Real time OS • Real Time OS are used to control machinery, scientific instruments, and industrial systems. There is typically very little user interface capability. Resources are managed so that a particular operation executes precisely the same every time. Source: http://mylinuxexplore.blogspot.com/2012/06/light-linux-distribution-series-puppy.html Single-user, Multi-tasking OS • This is the type of operating system most desktops and laptops use today. Microsoft’s Windows and Apple’s MacOS are both examples of operating systems that will let a single user have several programs in operation at the same time. Source: http://logos.wikia.com/wiki/Mac Process management Source: https://www.youtube.com/watch?v=1fwxHAf1E88 Description • Process management is an integral part of any modern day operating system. • The OS must allocate resources to processes, enable processes to share and exchange information, protect the resources of each process from other processes and enable synchronization among processes. • To meet these requirements, the OS must mantain a data structure for each process, which describes the state and resources ownership of that process and which enables the OS to exert control over each process. Source: http://www.slideshare.net/orven_neu/process-management-in-os-8374196 What is process? Execution of a program is called process. Process State A Process in execution will have to pass through different stages viz., New, Ready,Running, Waiting and Termination. New: A Process which is just created will enter into this stage. Ready: A Process waiting for the CPU is in this stage. Running: The Process which is currently using CPU to execute its instruction is in this stage. Terminated: The Process that finishes its execution will be terminated. Source: http://www.tutorialspoint.com/operating_system/os_processes.htm Process state Source: http://www.siasat.com/gate/content/process-management-subject-operating-system Threads • In computer science, a thread of execution is the smallest sequence of programmed instructions that can be managed independently by a scheduler, which is typically a part of the operating system. • The implementation of threads and processes differs between operating systems, but in most cases a thread is a component of a process. Multiple threads can exist within the same process and share resources such as memory, while different processes do not share these resources. Source: http://en.wikipedia.org/wiki/Thread_(computing) OS for parallel computers • When available computers are incapable of providing a sufficient computing power for solving the arising tasks, while purchasing new and powerful equipment is economically infeasible, the only way to gain additional computing power is to parallel the computational process between several interconnected computers. The idea of parallel distributed computing has been studied in cybernetics since early sixties. • Modern operating systems support parallel execution of processes on multiprocessor and uniprocessor computers. For this purpose an operating system provides process synchronization and communication facilities. Source: https://www.cs.utah.edu/~aburtsev/doc/OS_for_Parallel_Computing_IASA2001.pdf Operating Systems classification Source: http://homepages.uel.ac.uk/u0524584/diffos.htm Network Operating Systems • Abbreviated as NOS, a network operating system includes special functions for connecting computers and devices into a local-area network (LAN). Some operating systems, such as UNIX and Mac, have networking functions built in. • The term network operating system is generally reserved for software that enhances a basic operating system by adding networking features. Novell Netware, Artisoft's LANtastic, Microsoft Windows Server, and Windows NT are examples of a NOS. Source: http://www.webopedia.com/TERM/N/network_operating_system_NOS.html Multiprocessor Operating Systems • Multiprocessor Operating System refers to the use of two or more central processing units (CPU) within a single computer system. These multiple CPU’s are in a close communication sharing the computer bus, memory and other pheripheric devices. These systems are referred as tightly coupled systems. Source: http://ecomputernotes.com/fundamental/disk-operating-system/multiprocessor-operating-system Distributed Operating Systems • Distributed Operating System is a model where distributed applications are running on multiple computers linked by communications. A distributed operating system is an extension of the network operating system that supports higher levels of communication and integration of the machines on the network. • This system looks to its users like an ordinary centralized operating system but runs on multiple, independent central processing units (CPU’s). Source: http://ecomputernotes.com/fundamental/disk-operating-system/distributed-operating-system OS Specification’s Source: http://www.slideshare.net/kapil078/cmp104-lec-5-software-and-operating-system Memory management • Memory management is the act of managing computer memory at the system level. The essential requirement of memory management is to provide ways to dynamically allocate portions of memory to programs at their request, and free it for reuse when no longer needed. This is critical to any advanced computer system where more than a single process might be underway at any time. Source: http://en.wikipedia.org/wiki/Memory_management Allocation of free space • Free space is segment of capacity space of a partition which is not in use. It is the rest stored space of a partition. You can use free space to store your data directly. • However, unallocated space can’t be used directly. This is the difference between free space and unallocated space. Source: http://www.disk-partition.com/resource/allocate-free-space.html Allocation of free space Source: http://www.disk-partition.com/resource/allocate-free-space.html References 1. 2. 3. 4. http://www.wikihow.com/Make-a-Computer-Operating-System https://www.clinton.edu/repository/5043.pdf http://pkenmore.wikispaces.com/Network+Operating+System+(NOS) http://ecomputernotes.com/