Presentation on theme: "Chapter 1: Introduction"— Presentation transcript:
1 Chapter 1: Introduction These slides, originally provided by your authors,have been modified by your instructor.
2 Chapter 1: Introduction What Operating Systems DoComputer-System OrganizationComputer-System ArchitectureOperating-System StructureOperating-System OperationsProcess ManagementMemory ManagementStorage ManagementProtection and SecurityDistributed SystemsSpecial-Purpose SystemsComputing Environments
3 ObjectivesTo provide a grand tour of the major operating systems componentsTo provide coverage of basic computer system organizationPlease note that these slides are not in the exact same order as the pages of the text – but close.
4 1. What is an Operating System? First of all, an operating system is a program – albeit a very complicated one.The main job of an operating system is to manage and control the computer system’s resourcesCentral processing unit(s),Input/Output devices,Memoryin order for a variety of users – with varied interests – to get what they want from the system.For some users, the emphasis is:on ease of useFor other users, it is imperative that the operating system successfully provide optimal resource allocation – to support many users, andFor others, the computer may constitute a dedicated resource.
5 MoreAn operating system is, in general, is software designed to control access and allocation of resources so the user may use this computer to solve the problem at hand.It is a tool!!An operating system is software that controls hardware – its use and how the individual components are best allocated to serve users.An operating system, sometimes called a Master Control Program, is a lot of things to different people and exactly what it is often depends upon one’s view.
6 Computer System Structure A Computer System can be divided into four componentsHardware – provides basic computing resourcesCPU, memory, I/O devices (other devices too…)Operating System (Software; sometimes called System Software)Controls and coordinates use of hardware among various applications and users. This will be the focus of this course.Application programs (sometimes called Application Software) – define the ways in which the system resources are used to solve the computing problems of the usersWord processors, compilers, web browsers, database systems, video games, business software, scientific software, manufacturing software real-time embedded software (automobile / aircraft instrumentation)These are the types of programs written in your language courses, data structures, database, and other courses.UsersPeople, machines, other computers
7 Four Components of a Computer System An excellentdepiction of basiccomponents andtheir relationships.Briefly explain…Note: an operatingsystem does notexist for its ownwell-being;It exists to do workfor users and tomanage and controla system’s resourcesso as to maximizeuse of computingresources.A student invokes a compiler to compile a program; another user invokes an assembler to assemblea program; another user is editing a Word, vi, Notepad file; still another user is trying to execute an SQL query.
8 Operating System Definition OS is a resource allocatorManages all resourcesDecides between conflicting requests for efficient and fair resource useOS is a control programControls / monitors / facilitates the execution of programs to prevent errors and improper use of the computerNo universally accepted definitionWhat is traditionally an ‘operating system’ consists of many parts the most notable is the kernel. “The one program running at all times on the computer” is the kernel. Everything else is either a system program (ships with the operating system) or an application programWe will talk a great deal about the kernel later!
9 Computer Startup Bootstrap program is loaded at power-up or reboot Typically stored inROM (Read Only Memory) or(electronically erasable programmable Read Only Memory (EEPROM), generally known as firmwareROM chip contains instructions for uploading the operating system to ‘get things going’When you turn on your computer, ROM is immediately accessed and typically a bootstrap loader (or bootstrap program) is immediately executed.What does it rally do?
10 Computer Startup – Bootstrap Program Bootstrap is a simple program and usually quite short.Used to load the main part of the operating system (kernel)It is your ‘startup program.’Bootstrap usually starts by executing a special program called ‘init’Init runs (much more later) and the operating system is ready for work!Work, that is, requesting the computer to do something for us, is communicated to the computer system via interrupts.Big Questions: So, what do we mean by ‘interrupts’ and ‘what’ is interrupted? Are there different kinds of interrupts? (lot to learn here!)To address these question, let’s first look at a computer system’s basic organization; then we have a context for discussing ‘interrupts.’
11 Computer System Organization Computer-system operationFirst of all, let’s look at the hardware organization.A computer system consists of one or more CPUs, device controllers connect through common bus providing access to shared memoryThese bolded terms are key to understanding a computing system.A number of hardwaredevices / components.Central Processing Unit(s)(only one shown here)Primary Memory(RAM); shared;volatileCommon bus(Used for data and control)
12 Computer System Organization Notice a number of device controllers.These controllers – unique to specific types of devices – are themselves little computers designed to control the devices hooked to them and the common bus for memory and more.In the figure below, there is ‘central memory’ (primary memory; RAM)Access to primary memory is shared and access to it must be synchronized to avoid contention problems.Almost all devices need access to primary memory! But they clearly cannot have access simultaneously! The OS, however, does provide for concurrent access.
13 1.2 Computer-System Operation I/O devices and the CPU can execute concurrently.Each device controller is in charge of a particular device type.USB Controllers – in very common use for flash drives and connection with a wide variety of external devices;Disk controllers may have many disks hooked to it.The disk controller must synchronize data being written to and retrieved from disks that it is controlling.When the controller is responsible for a number of individual devices, this can be a daunting but essential task.It must determine when a disk is, say, ready to be written to or read from (think disk mechanics; seek time, rotational delay, head select, reading/writing data…)Device controller typically have a local buffer containing temporary storage of data to be ‘later’ written to one of the devices the controller is ‘controlling’ or perhaps written to RAM. …These operations can be executed asynchronously from the CPU and in the background under their controller control.Remember, these controllers are like little computers – execute special programs and have their own memories, buffers, registers, etc.
14 Let’s stop here for the first lecture from the book. Please do the readings and look over assignment 1.We will resume this material next class period.