What is an Operating System
• A program that acts as an intermediary between a user of a
computer and the computer hardware
• Operating system goals:
• Execute user programs and make solving user problems easier
• Make the computer system convenient to use
• Manage the computer hardware in an efficient manner
Operating-System Structure
Computer system can be divided into four components:
• Hardware – provides basic computing resources
* CPU, memory, I/O devices
• Operating system
* Controls and coordinates use of hardware among various applications and users
• Application programs – define the ways in which the system resources are used to
solve the computing problems of the users
* Word processors, compilers, web browsers, database systems, video games
• Users
* People, machines, other computers
Operating-System Structure
Operating System Definition
• OS as a control program
* Controls execution of programs to prevent errors and improper use of the computer
* Controls execution of programs to prevent errors and improper use of the computer
• OS as a resource allocator
* Manages all resources
* Decides between conflicting requests for efficient
and fair resource use
Operating System Definition – Common Beliefs
• “Everything a vendor ships when you order an operating
system”
• “The one program running at all times on the computer”
- kernel.
• Everything else is either
* a system program (ships with the operating system) , or
* an application program.
Computer-Start up – How OS comes to work?
• BIOS program is loaded at power-up or
reboot
• Typically stored in EPROM, generally
known as firmware
• Initializes all aspects of system
• Loads operating system kernel and
starts execution
Computer-System Operation
• I/O devices and the CPU can execute
concurrently
• Each device controller is in charge of a
particular device type
• Each device controller has a local buffer
• CPU moves data from/to main memory
to/from local buffers
• I/O is from the device to local buffer of
controller
• Device controller informs CPU that it has
finished its operation by causing an interrupt
Computer System Operation: Interrupts
• Interrupt transfers control to the interrupt service routine
• Interrupt architecture must save the address of the
interrupted instruction
• A trap (or an exception) is a software-generated interrupt
caused either by an error or a user request
• An operating system is interrupt driven
Operating-System Operations
• Multiprogramming (Batch system) needed for efficiency
• Single user cannot keep CPU and I/O devices busy at
all times
• Multiprogramming organizes jobs (code and data) so
CPU always has one to execute
• A subset of total jobs in system is kept in memory
• One job selected and run via job scheduling
• When it has to wait (for I/O for example), OS switches
to another job
• Timesharing (multitasking) is logical extension in which CPU
switches jobs so frequently that users can interact with each job
while it is running, creating interactive computing
• Response time should be < 1 second
• Each user has at least one program executing in memory -> process
• If several jobs ready to run at the same time -> CPU scheduling
• If processes don’t fit in memory, swapping moves them in and
out to run
• Virtual memory allows execution of processes not completely
in memory
• Dual-mode operation allows OS to protect itself and other system
components
* User mode and kernel mode
* Mode bit provided by hardware
* Provides ability to distinguish when system is running user code or kernel
code
• Some instructions designated as privileged, only executable in
kernel mode
• System call changes mode to kernel, return from call resets it to user
• Increasingly CPUs support multi-mode operations
* i.e. virtual machine manager (VMM) mode for guest VMs
A system call is the way that a computer program requests a service from the
kernel. This may include hardware-related services (for example, accessing a hard
disk drive), creation and execution of new processes, and communication with
integral kernel services such as process scheduling.
Operating System - Services
• Process Management
• Memory Management
• Storage Management
* File system management
* Storage space management
• Protection and Security
Process Management
• A process is a program in execution. It is a unit of work within
the system. Program is a passive entity, process is an active
entity.
• Process needs resources to accomplish its task
* CPU, memory, I/O, files
* Initialization data
• Process termination requires reclaim of any reusable resources
• Single-threaded process has one program counter specifying
location of next instruction to execute
* Process executes instructions sequentially, one at a time,
until completion
• The operating system is responsible for the following activities
in connection with process management:
* Creating and deleting both user and system processes
* Suspending and resuming processes
* Providing mechanisms for process synchronization
* Providing mechanisms for process communication
* Providing mechanisms for deadlock handling
Memory Management
• To execute a program all (or part) of the instructions must be in memory
• All (or part) of the data that is needed by the program must be in memory.
• Memory management determines what is in memory and when
* Optimizing CPU utilization and computer response to users
• Memory management activities
* Keeping track of which parts of memory are currently being used and by whom
* Deciding which processes (or parts thereof) and data to move into and out of
memory
* Allocating and deallocating memory space as needed.
Storage Management
• OS provides uniform, logical view of information storage
• Abstracts physical properties to logical storage unit - file
• Each medium is controlled by a device (i.e., disk drive, tape
drive)
• Varying properties include access speed, capacity, datatransfer rate, access method (sequential or random)
• File-System management
• Files usually organized into directories
• Access control on most systems to determine who can access
what
• OS activities include
* Creating and deleting files and directories
* Primitives to manipulate files and directories
* Mapping files onto secondary storage
* Backup files onto stable (non-volatile) storage media
• Usually disks used to store data that does not fit in main memory
or data that must be kept for a “long” period of time
• Proper management is of central importance
• Entire speed of computer operation hinges on disk subsystem
and its algorithms
• OS activities
* Free-space management
* Storage allocation
* Disk scheduling
Protection and Security
• Protection – any mechanism for controlling access of processes or
users to resources defined by the OS
• Security – defense of the system against internal and external
attacks
• Systems generally first distinguish among users, to determine who
can do what
• User identities (user IDs, security IDs) include name and
associated number, one per user
• User ID then associated with all files, processes of that user to
determine access control
• Group identifier (group ID) allows set of users to be defined and
controls managed, then also associated with each process, file
Computing Environments – Traditional
• Stand-alone general purpose machines
• But blurred as most systems interconnect with others (i.e., the
Internet)
• Portals provide web access to internal systems
• Network computers (thin clients) are like Web terminals
• Mobile computers interconnect via wireless networks
• Networking becoming ubiquitous – even home systems use
firewalls to protect home computers from Internet attacks
Computing Environments – Mobile
• Handheld smartphones, tablets, etc
• What is the functional difference between them and a
“traditional” laptop?
• Extra feature – more OS features (GPS, gyroscope)
• Allows new types of apps like augmented reality
• Use wireless, or cellular data networks for connectivity
• Leaders are Apple iOS and Google Android
Computing Environments – Virtualization
• Allows operating systems to run applications within other OSes
• Vast and growing industry
• Emulation used when source CPU type different from target type (i.e. PowerPC to
Intel x86)
• Generally slowest method
• When computer language not compiled to native code – Interpretation
• Virtualization – OS natively compiled for CPU, running guest OSes also natively
compiled
* Consider VMware running WinXP guests, each running applications, all on native WinXP
host OS
* VMM (virtual machine Manager) provides virtualization services
• Use cases involve laptops and desktops running multiple OSes for
exploration or compatibility
*Apple laptop running Mac OS X host, Windows as a guest
* Developing apps for multiple OSes without having multiple systems
* QA testing applications without having multiple systems
* Executing and managing computer environments within data
centers
Computing Environments – Client-Server
• Client-Server Computing
• Dumb terminals supplanted by smart
PCs
• Many systems now servers, responding
to requests generated by clients
• Compute-server system provides an
interface to client to request services (i.e.,
database)
• File-server system provides interface for
clients to store and retrieve files
Computing Environments – Cloud Computing
• Delivers computing, storage, even apps as a service across a network
• Logical extension of virtualization because it uses virtualization as the base for it
functionality.
• Amazon EC2 has thousands of servers, millions of virtual machines,
petabytes of storage available across the Internet, pay based on usage
• Many types
• Public cloud – available via Internet to anyone willing to pay
• Private cloud – run by a company for the company’s own use
• Hybrid cloud – includes both public and private cloud components
• Software as a Service (SaaS) – one or more applications
available via the Internet (i.e., word processor)
• Platform as a Service (PaaS) – software stack ready for
application use via the Internet (i.e., a database server)
• Infrastructure as a Service (IaaS) – servers or storage available
over Internet (i.e., storage available for backup use)
Open-Source Operating Systems
• Operating systems made available in source-code format rather than just binary
closed-source
• Counter to the copy protection and Digital Rights Management (DRM) movement
• Started by Free Software Foundation (FSF), which has “copyleft” GNU Public License
(GPL)
• Examples include GNU/Linux and BSD UNIX (including core of Mac OS X), and many
more
• Can use VMM like VMware Player (Free on Windows), Virtualbox (open source and
free on many platforms - http://www.virtualbox.com)
• Use to run guest operating systems for exploration
Read More Information
Click Here (Sinhala)
Comments
Post a Comment