Download presentation
Presentation is loading. Please wait.
1
OPERATING SYSTEMS Introduction
2
Instructor and TA Instructor TA Dr. Yasser Fouad
Associate Professor, CS at Alexandria University Course Page: TA
3
Course Description Introduction to basic components in operating systems Process management and coordination Memory management Storage management Advanced topics (depending on schedule) Distributed systems Virtual machines Case studies and recent developments
4
Outline & Schedule Basics (Ch. 1-2) Process management (Ch. 3-7)
Introduction System structures Process management (Ch. 3-7) Process concept Multithreaded programming Process scheduling Synchronization Deadlocks Memory management (Ch. 8-9) Memory management strategies Virtual memory management
5
Outline & Schedule (Cont’d)
Outline (cont’d) Storage management (Ch ) File system Secondary storage structure I/O systems System protection and security (Ch ) Case studies (Ch ) Linux, Windows 7, Influential OS Reorganized and integrated throughout the text Real-time systems Storage management Removed from International Student Edition and moved into “Advanced Topics” in 9th ed. Virtual machines Distributed systems
6
Recent Growth in Fundamental Areas
Multicore systems Mobile computing Virtualization
7
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.
8
OPERATING SYSTEM OVERVIEW
An interface between users and hardware - an environment "architecture” Allows convenient usage Allows efficient usage; parallel activity, avoids wasted cycles Provides information protection Gives each user a slice of the resources Acts as a control program.
9
What is an operating system?
Special layer of software that provides application software access to hardware resources Convenient abstraction of complex hardware devices Protected access to shared resources Security and authentication Communication amongst logical entities
10
What Does an OS do? Provide abstractions to apps Manage resources:
File systems Processes, threads VM, containers Naming system … Manage resources: Memory, CPU, storage, … Achieves the above by implementing specific algos and techniques: Scheduling Concurrency Transactions Security …..
11
OPERATING SYSTEM OVERVIEW
The Layers Of A System OPERATING SYSTEM OVERVIEW Humans Program Interface User Programs O.S. Interface O.S. Hardware Interface/ Privileged Instructions Disk/Tape/Memory
12
OPERATING SYSTEM OVERVIEW
Components A mechanism for scheduling jobs or processes. Scheduling can be as simple as running the next process, or it can use relatively complex rules to pick a running process. A method for simultaneous CPU execution and IO handling. Processing is going on even as IO is occurring in preparation for future CPU work. Off Line Processing; not only are IO and CPU happening concurrently, but some off-board processing is occurring with the IO.
13
OPERATING SYSTEM OVERVIEW
Components The CPU is wasted if a job waits for I/O. This leads to: Multiprogramming ( dynamic switching ). While one job waits for a resource, the CPU can find another job to run. It means that several jobs are ready to run and only need the CPU in order to continue. All of this leads to: memory management resource scheduling deadlock protection which are the subject of the rest of this course.
14
OPERATING SYSTEM OVERVIEW
Characteristics Other Characteristics include: Time Sharing - multiprogramming environment that's also interactive. Multiprocessing - Tightly coupled systems that communicate via shared memory. Used for scientific applications. Used for speed improvement by putting together a number of off-the-shelf processors. Distributed Systems - Loosely coupled systems that communicate via message passing. Advantages include resource sharing, speed up, reliability, communication. Real Time Systems - Rapid response time is main characteristic. Used in control of applications where rapid response to a stimulus is essential.
15
OPERATING SYSTEM OVERVIEW
Characteristics Interrupts: Interrupt transfers control to the interrupt service routine generally, through the interrupt vector, which contains the addresses of all the service routines. Interrupt architecture must save the address of the interrupted instruction. Incoming interrupts are disabled while another interrupt is being processed to prevent a lost interrupt. A trap is a software-generated interrupt caused either by an error or a user request. An operating system is interrupt driven.
16
OPERATING SYSTEM OVERVIEW
Hardware Support These are the devices that make up a typical system. Any of these devices can cause an electrical interrupt that grabs the attention of the CPU.
17
OPERATING SYSTEM OVERVIEW
Hardware Support Sequence of events for processing an IO request. Comparing Synchronous and Asynchronous IO Operations
18
OPERATING SYSTEM OVERVIEW
Hardware Support This is O.S. Bookkeeping. These structures are necessary to keep track of IO in progress.
19
Computer-System Architecture
Most systems use a single general-purpose processor (PDAs through mainframes) Most systems have special-purpose processors as well Multiprocessors systems growing in use and importance Also known as parallel systems, tightly-coupled systems Advantages include Increased throughput Economy of scale Increased reliability – graceful degradation or fault tolerance Two types Asymmetric Multiprocessing Symmetric Multiprocessing
20
Symmetric Multiprocessing Architecture
21
A Dual-Core Design
22
Clustered Systems Like multiprocessor systems, but multiple systems working together Usually sharing storage via a storage-area network (SAN) Provides a high-availability service which survives failures Asymmetric clustering has one machine in hot-standby mode Symmetric clustering has multiple nodes running applications, monitoring each other Some clusters are for high-performance computing (HPC) Applications must be written to use parallelization
23
OPERATING SYSTEM OVERVIEW
Storage Hierarchy Very fast storage is very expensive. So the Operating System manages a hierarchy of storage devices in order to make the best use of resources. In fact, considerable effort goes into this support. Fast and Expensive Slow an Cheap
24
OPERATING SYSTEM OVERVIEW
Storage Hierarchy Performance:
25
OPERATING SYSTEM OVERVIEW
Storage Hierarchy Caching: Important principle, performed at many levels in a computer (in hardware, operating system, software) Information in use copied from slower to faster storage temporarily Faster storage (cache) checked first to determine if information is there If it is, information used directly from the cache (fast) If not, data copied to cache and used there Cache smaller than storage being cached Cache management important design problem Cache size and replacement policy
26
OPERATING SYSTEM OVERVIEW
Protection The goal is protecting the Operating System and others from malicious or ignorant users. The User/Supervisor Mode and privileged instructions. Concurrent threads might interfere with others. This leads to protection of resources by user/supervisor mode. These resources include: I/O Define I/O instructions as privileged; they can be executed only in Supervisor mode. System calls get us from user to supervisor mode.
27
OPERATING SYSTEM OVERVIEW
Protection Memory A user program can only access its own logical memory. For instance, it can't modify supervisor code. Depends on an address translation scheme such as that shown here.
28
Desktop Systems Personal computers – computer system dedicated to a single user. I/O devices – keyboards, mice, display screens, small printers. User convenience and responsiveness. Can adopt technology developed for larger operating system’ often individuals have sole use of computer and do not need advanced CPU utilization of protection features. May run several different types of operating systems (Windows, MacOS, UNIX, Linux)
29
Parallel Systems Multiprocessor systems with more than on CPU in close communication. Tightly coupled system – processors share memory and a clock; communication usually takes place through the shared memory. Advantages of parallel system: Increased throughput Economical Increased reliability graceful degradation fail-soft systems
30
Parallel Systems (Cont.)
Symmetric multiprocessing (SMP) Each processor runs and identical copy of the operating system. Many processes can run at once without performance deterioration. Most modern operating systems support SMP Asymmetric multiprocessing Each processor is assigned a specific task; master processor schedules and allocated work to slave processors. More common in extremely large systems
31
Symmetric Multiprocessing Architecture
32
Distributed Systems Distribute the computation among several physical processors. Loosely coupled system – each processor has its own local memory; processors communicate with one another through various communications lines, such as high-speed buses or telephone lines. Advantages of distributed systems. Resources Sharing Computation speed up – load sharing Reliability Communications
33
Distributed Systems (cont)
Requires networking infrastructure. Local area networks (LAN) or Wide area networks (WAN) May be either client-server or peer-to-peer systems.
34
Real-Time Systems Often used as a control device in a dedicated application such as controlling scientific experiments, medical imaging systems, industrial control systems, and some display systems. Well-defined fixed-time constraints. Real-Time systems may be either hard or soft real-time.
35
Real-Time Systems (Cont.)
Hard real-time: Secondary storage limited or absent, data stored in short term memory, or read-only memory (ROM) Conflicts with time-sharing systems, not supported by general-purpose operating systems. Soft real-time Limited utility in industrial control of robotics Useful in applications (multimedia, virtual reality) requiring advanced operating-system features.
36
Handheld Systems Personal Digital Assistants (PDAs)
Cellular telephones Issues: Limited memory Slow processors Small display screens.
37
Process Management Activities
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
38
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, BSD UNIX (including core of Mac OS X), and Sun Solaris
39
What makes Operating Systems Exciting and Challenging?
40
Technology Trends: Moore’s Law
Gordon Moore (co-founder of Intel) predicted in 1965 that the transistor density of semiconductor chips would double roughly every 18 months 2X transistors/Chip Every 1.5 years Called “Moore’s Law” Moore’s Law Microprocessors have become smaller, denser, and more powerful
41
New Challenge: Slowdown in Joy’s law of Performance
3X From Hennessy and Patterson, Computer Architecture: A Quantitative Approach, 4th edition, Sept. 15, 2006 Sea change in chip design: multiple “cores” or processors per chip VAX : 25%/year 1978 to 1986 RISC + x86 : 52%/year 1986 to 2002 RISC + x86 : ??%/year 2002 to present
42
ManyCore Chips: The future is here
Intel 80-core multicore chip (Feb 2007) 80 simple cores Two FP-engines / core Mesh-like network 100 million transistors 65nm feature size Intel Single-Chip Cloud Computer (August 2010) 24 “tiles” with two cores/tile 24-router mesh network 4 DDR3 memory controllers Hardware support for message-passing Amazon X1 instances 128 virtual cores, 2 TB RAM How to program these? Use 2 CPUs for video/audio Use 1 for word processor, 1 for browser 76 for virus checking??? Parallelism must be exploited at all levels
43
Not Only PCs connected to the Internet
Smartphone shipments exceed PC shipments! 2011 shipments: 487M smartphones 414M PC clients 210M notebooks 112M desktops 63M tablets 25M smart TVs 4 billion phones in the world smartphone over next decade 341.6 million in Q2 2017 61.1 million in Q3 2015 36.2 million in Q1 2017 222 million in 2016
44
Societal Scale Information Systems (Or the “Internet of Things”?)
Clusters Massive Cluster Gigabit Ethernet Societal Scale Information Systems (Or the “Internet of Things”?) Clusters Massive Cluster Gigabit Ethernet The world is a large distributed system Microprocessors in everything Vast infrastructure behind them Scalable, Reliable, Secure Services Internet Connectivity Databases Information Collection Remote Storage Online Games Commerce … Of the enormous variety of CITRIS projects going on at Berkeley, I will present one set that is tied together by this picture: the design, construction and use of MEMS devices, the sensor networks containing them, and making the information from these networks available to widely distributed users as scalable, reliable and secure services. The name we give to such an integrated system is a Societal Scale Information System, a name meant to evoke its scale – enormous - and purpose – benefiting people and the economy. I will leave the details of all the specific applications that Ruzena mentioned, be it to energy efficiency or education or disaster response the social sciences, and indeed most details, to later talks and posters. MEMS for Sensor Nets
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.