Introduction
Introduction
Questions answered in this lecture:
What will you study in this course?
What is an OS and why do we want one?
Why study operating systems?
Ohio State University
Computer Science and Engineering
CSE 2431
Introduction to Operating Systems
G. Michael Green
What is an
Operating System?
Operating System (OS):
Software that converts hardware into a useful form for applications: Make sure the system operates correctly and efficiently in an easy to use manner.
Not easy to define precisely…
Operating System
Users
Applications
Hardware
2
What DOES OS Provide?
Role #1: Abstraction – Provide standard library for resources
What is a resource?
Anything valuable (e.g., CPU, memory, disk)
What abstraction does modern OS typically provide for each resource?
Resource Abstraction
CPU process and/or thread
Memory address space
Disk files
Advantages of OS providing abstraction?
Allow applications to reuse common facilities
Make different devices look the same
Provide higher-level or more useful functionality
Challenges
What are the correct abstractions?
How much of hardware should be exposed?
What DOES OS PROVIDE?
Role #2: Resource management – Share resources well
Advantages of OS providing resource management?
Protect applications from one another
Provide efficient access to resources (cost, time, energy)
Provide fair access to resources
Challenges
What are the correct policies (What should be done)?
What are the correct mechanisms (How should it be done)?
OS Organization
How to cover all the topics relevant to operating systems?
The text we are using divides what OSes do into three areas, or “pieces”
Three PIECES: FIRST
Virtualization
Make each application believe it has certain critical resources to itself; i.e., make it believe it has exclusive use of each critical resource in the system.
For example, make each application believe it has exclusive use of the CPU, and exclusive use of all of memory.
Resource management
To create the illusion that each application has exclusive use of each system resource, the OS must manage the resources; thus, the OS is also referred to as a resource manager.
Three PIECES: SECOND
Concurrency:
Events are occurring simultaneously and may interact with one another
OS must be able to handle concurrent events which can interact
Easier case
Hide concurrency from independent processes (those which do not interact)
Trickier case
Manage concurrency with interacting processes
Provide abstractions (locks, semaphores, condition variables, shared memory, critical sections) to processes
Decide how to handle the possibility that processes may deadlock
Three PIECES: THIRD
Persistence: Preserve information permanently
Lifetime of information is longer than lifetime of any one process
Machine may be rebooted, machine may lose power or crash unexpectedly
Issues:
Provide abstraction so applications do not know how data is stored : Files, directories (folders), links
Correctness with unexpected failures
Performance: disks are very slow; many optimizations needed
Advanced Topics
Current systems
Multiprocessors (we will only discuss these in some limited ways)
Networked and distributed systems (covered in graduate OS course)
Virtual machines (covered in other advanced courses)
Why study Operating Systems?
Build, modify, or administer an operating system
Understand system performance
Behavior of OS impacts entire machine
Tune workload performance
Apply knowledge across many layers
Computer architecture, programming languages, data structures and algorithms, and performance modeling
Fun and challenging to understand large, complex systems
/docProps/thumbnail.jpeg