This document defines several key terminologies used in operating systems, including register, timeslicing, device driver, client, server, multiprogramming, multiprocessing, multitasking, and fault tolerance. It also discusses concepts like multiprogramming, multiprocessing, multitasking, and how they differ. Finally, it poses several questions related to operating systems concepts.
This document defines several key terminologies used in operating systems, including register, timeslicing, device driver, client, server, multiprogramming, multiprocessing, multitasking, and fault tolerance. It also discusses concepts like multiprogramming, multiprocessing, multitasking, and how they differ. Finally, it poses several questions related to operating systems concepts.
This document defines several key terminologies used in operating systems, including register, timeslicing, device driver, client, server, multiprogramming, multiprocessing, multitasking, and fault tolerance. It also discusses concepts like multiprogramming, multiprocessing, multitasking, and how they differ. Finally, it poses several questions related to operating systems concepts.
This document defines several key terminologies used in operating systems, including register, timeslicing, device driver, client, server, multiprogramming, multiprocessing, multitasking, and fault tolerance. It also discusses concepts like multiprogramming, multiprocessing, multitasking, and how they differ. Finally, it poses several questions related to operating systems concepts.
Download as PPTX, PDF, TXT or read online from Scribd
Download as pptx, pdf, or txt
You are on page 1of 28
Terminologies used in OS
Register: is a high speed memory located on a processor that holds
data for immediate use by the processor. Timeslicing: for every workstation, there is only one microprocessor running. Each task is given timeslice of the microprocessor cycles when the timeslice is up, the task is suspended and the microprocessor executes the next task. Device Driver: is a software through which kernel interacts with hardware devices. Client: is a process that requests a service from another process (a server). The machine on which the client process run is called Clients. Server: is a process that provides services to other processes called clients. The machine on which these processes run is also called a Server. • Multiprogramming: In a multiprogrammed system, the operating system simply switches to, and executes, another job. When the job wait, the CPU is switched to another job, and so on. • Eventually, the first job waits and gets the CPU. As long as at least one job needs to execute, the CPU is never idle. Multiprogrammed systems provide an environment in which the various system resources (for example, CPU, memory, and peripheral devices) are utilized effectively, but they do not provide for user interaction with the computer system. It is the ability to store multiple programs in memory at once so that they can be executed concurrently. • In a multiprogramming system, there are one or more programs loaded in main memory which are ready to execute. Only one program at a time is able to get the CPU for executing its instructions (i.e., there is at most one process running on the system) while all the others are waiting their turn. The main idea of multiprogramming is to maximize the use of CPU time. Indeed, suppose the currently running process is performing an I/O task (which, by definition, does not need the CPU to be accomplished). • Then, the OS may interrupt that process and give the control to one of the other in-main-memory programs that are ready to execute (i.e. process context switching). In this way, no CPU time is wasted by the system waiting for the I/O task to be completed, and a running process keeps executing until either it voluntarily releases the CPU or when it blocks for an I/O operation. Therefore, the ultimate goal of multiprogramming is to keep the CPU busy as long as there are processes ready to execute. • Multiprogramming is also the ability of an operating system to execute more than one program on a single processor machine. More than one task/program/job/process can reside into the main memory at one point of time. • Multiprocessing is the ability of an operating system to execute more than one process simultaneously on a multi processor machine. In this, a computer uses more than one CPU at a time. It is a computing system that employs more than one processor. In a multiprocessor environment if a processor fails other processor is allowed to take over a functions previously performed by that processor. • Multitasking is the ability of an operating system to execute more than one task simultaneously on a single processor machine. No two tasks on a single processor machine can be executed at the same time. Actually CPU switches from one task to the next task so quickly that appears as if all the tasks are executing at the same time. More than one task/program/job/process can reside into the same CPU at one point of time. • Multitasking is the logical extension of multiprogramming .The concept of multitasking is quite similar to multiprogramming but difference is that the SWITCHING BETWEEN JOBS occurs so frequently that the users can interact with each program while it is running. • Multitasking: is the concurrent execution of multiple jobs often referred to as tasks of some user in a single user system. Fault Tolerance is the operating system ability to handle software or hardware errors. Shell is an application (Typically GUI or text based) that enables a user to interact with an OS. Response Time: is the interval from the time of submission of a job to the system for processing to the time the first response to the job is produced by a system. Single User System is a system that is intended to serve one person at a time. It runs windows as the OS. • Multiuser System is a system that is intended to serve many users and is connected to the local area network that is number of computer called Workstations are connected to a central computer so that the central computer is shared by all workstation. • Process: is a unit of program in execution. It is a separately executable unit of code that executes independently and competes for system resources with other processes. • Multithreading is the ability of an operating system to execute the different parts of a program called threads at the same time. Threads are the light weight processes which are independent part of a process or program. • In multithreading system, more than one threads are executed parallel on a single CPU. It is a techniques that incorporates multiple threads of execution within a process to perform parallel activities possibly simultaneously. questions
• Does OS manage only hardware.
• What are the primary purpose of an OS. • Why were assembly language developed. • How did interactive computing and its improvement in turnaround time affects programmer productivity. • What aspect of personal computers popularized by the Apple Macintosh made them especially easy to learn and use. • What are some of the benefits of open source developments. • Which OS components perform each of the following operations write to disk, determine which process will next, determine where in memory a new process should be placed, organize file on disk. • Why is it dangerous to allow users to perform read/ write operations to any region of disk at will? • Which OS goals correspond to each of the following characteristics: users cannot access services or information without proper authorization. the OS runs on a variety of hardware configurations. The OS supports devices that were not available at the time of its design. Hardware failure does not necessarily cause the system to fail. • How does device driver contribute support to an OS extensibility? • What is the major difference between networked and distributed OS? • Why are OS more difficult to design today than 50 yrs ago? • What is the main difference between peripheral device such as a printer and a device such as a processor? • Is software written in machine language portable? • Can server be a client? • Why is Machine language are machine dependent? • What are the disadvantages of machine language? HARDWARE COMPONENTS • Hardware components include Mainboard: serves as the backbone for communication between hardware components, allowing them to communicate via the electrical connections on the board (Printed Circuit Board). • Processor: executes machine-language instructions and enforces protection for system resources such as main memory • Memory: referred to Random Access Memory (RAM). It is the hardware in a computing device where the operating system (OS), application programs and data in current use are kept so they can be quickly reached by the device's processor • Secondary storage: used to store large amounts of data because of the limited capacity and volatility of main/primary memory. • Buses: is a collection of traces (or other electrical connections) that transport information between hardware devices. • Peripherals Devices: A peripheral device is any hardware device that is not required for a computer to execute software instructions. Peripheral devices include many types of I/O devices (e.g. printers, scanners and mice), network devices (e.g., network interface cards and modems) and storage devices (e.g., CD, DVD and disk drives). • Timer and Clocks: Timers are associated with a clock in the system - against which a timer's expiration is measured - when they are created. A timer begins to count down to its expiration after having been set. Once the timer has expired, the timer can be automatically rearmed. • Software components include • Processes: is the instance of a computer program that is being executed by one or many threads • Threads: is a flow of execution through the process code, with its own program counter that keeps track of which instruction to execute next, system registers which hold its current working variables, and a stack which contains the execution history. • File: an object on a computer that stores data, information, settings, or commands used with a computer program • Database: is an organized collection of data, generally stored and accessed electronically from a computer system. • Differentiate between a CPU and a coprocessor. a CPU executes machine language instructions, a coprocessor is optimized to perform special- purpose instructions. • How might a system benefit from multiple CPUs? How might a system benefit from the multiple coprocessors. • Multiple CPU would allow a system to execute more than one program at once, multiple coprocessors could improve performance by performing processing in parallel with a CPU. • What is the primary function of the mainboard • to serves as the backbone for communication between hardware components allowing them to communicate via the electrical connections on the board. • What is bootstrapping? • is a process for loading the initial portion of the OS into memory. • What are the functions of bootstrapping. - It provides instructions that enable OS to communicate with system hardware. • What is PCB? • Printed Circuit Boards (PCB) is a hardware component that provides electrical connection between devices at various locations on the board. • Does computers typically execute assembly code directly? • Though programming is faster in assembly languages than in machine language. To increase programmer efficiency, high level language were developed. It require translator programs called compilers to convert high level language program into machine language. • What are the benefits of high level language over assembly languages. • C++ provides capabilities for OOP. • Objects are reusable software components that model items in the real world. • OOP are easier to understand , debug and modify than programs developed with previous techniques. • Why must processes issue system calls to request OS services? • To protect the system, the OS cannot allow processes to access OS services directly. Instead, the services that an OS can provide to processes that are packaged into API. Processes can access these services only through the system call interface which essentially puts the OS control.