What this course is NOT about:

Slides:



Advertisements
Similar presentations
Operating Systems Components of OS
Advertisements

Mutual Exclusion.
CS 4001Mary Jean Harrold1 High Cost of Software Failure Denver Airport Baggage System (1995): $280M Ariane 5 Explosion (1996): $7B Mars Rover (2004): Unknown.
Patriot Missile Failure
Unit 6- Operating Systems.  Identify the purpose of an OS  Identify different operating systems  Describe computer user interaction with multiple operating.
IT Systems Operating System EN230-1 Justin Champion C208 –
OS Spring’03 Introduction Operating Systems Spring 2003.
Types of Operating System
Air Traffic Control Software System Failure Case Study – As-is Scenario Presented by Stanley Dam For SE 6361 Advanced Requirement Engineering 10/25/2013.
Lecture 18 Page 1 CS 111 Online Design Principles for Secure Systems Economy Complete mediation Open design Separation of privileges Least privilege Least.
Module 2 Part I Introduction To Windows Operating Systems Intro & History Introduction To Windows Operating Systems Intro & History.
Operating System Review September 10, 2012Introduction to Computer Security ©2004 Matt Bishop Slide #1-1.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
Computer and Information Science Computer Software Computer Software Chapter 1.2.
Time Management.  Time management is concerned with OS facilities and services which measure real time, and is essential to the operation of timesharing.
Computer security By Isabelle Cooper.
Topic 5a Operating System Fundamentals. What is an operating system? a computer is comprised of various types of software device drivers (storage, I/O,
“I am not in the office at the moment. Send any work to be translated.”
CE Operating Systems Lecture 2 Low level hardware support for operating systems.
The Unintended Consequences of a career in Engineering Or How to end up a mass murderer without even trying.
Computer Organization Instruction Set Architecture (ISA) Instruction Set Architecture (ISA), or simply Architecture, of a computer is the.
Interrupts and Exception Handling. Execution We are quite aware of the Fetch, Execute process of the control unit of the CPU –Fetch and instruction as.
Mutual Exclusion -- Addendum. Mutual Exclusion in Critical Sections.
Embedded Real-Time Systems Processing interrupts Lecturer Department University.
SOFTWARE FAILURES.
IT Vocabulary Basics Review Sit at tables. Need pencil/pen.
Threads prepared and instructed by Shmuel Wimer Eng. Faculty, Bar-Ilan University 1July 2016Processes.
Computer System Structures
Module 3: Operating-System Structures
CT1503 Network Operating System
Chapter Objectives In this chapter, you will learn:
2. OPERATING SYSTEM 2.1 Operating System Function
CS 6560: Operating Systems Design
Types of Operating System
Lesson Objectives Aims Key Words
Advanced OS Concepts (For OCR)
Andy Wang COP 5611 Advanced Operating Systems
Computing Fundamentals
Operating System Structure
Introduction to Operating System (OS)
TYPES OFF OPERATING SYSTEM
Nessus Vulnerability Scanning
Chapter 2: System Structures
Chapter 3: Operating-System Structures
What is Concurrent Programming?
BIC 10503: COMPUTER ARCHITECTURE
Functions of an operating system
Chapter 1 Introduction(1.1)
Process Description and Control
Chapter 2: Operating-System Structures
Operating Systems Lecture 3.
What is Concurrent Programming?
Introduction to Operating Systems
CSE 451: Operating Systems Autumn 2003 Lecture 2 Architectural Support for Operating Systems Hank Levy 596 Allen Center 1.
CSE 451: Operating Systems Autumn 2001 Lecture 2 Architectural Support for Operating Systems Brian Bershad 310 Sieg Hall 1.
Interrupt handling Explain how interrupts are used to obtain processor time and how processing of interrupted jobs may later be resumed, (typical.
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
CSE 451: Operating Systems Winter 2007 Module 2 Architectural Support for Operating Systems Brian Bershad 562 Allen Center 1.
CSE 451: Operating Systems Winter 2003 Lecture 2 Architectural Support for Operating Systems Hank Levy 412 Sieg Hall 1.
Chapter 2 Processes and Threads 2.1 Processes 2.2 Threads
Chapter 3 – Operating Systems
Example of an early computer system. Classification of operating systems. Operating systems can be grouped into the following categories: Supercomputing.
Real-Time Process Scheduling Concepts, Design and Implementations
Chapter 2: Operating-System Structures
Real-Time Process Scheduling Concepts, Design and Implementations
Lecture Topics: 11/1 Hand back midterms
Software Engineering Disasters
Introduction and Overview
Presentation transcript:

What this course is NOT about:  How to use Windows (or Mac OS)?  Learn a particular operating system What this course is about:  What are operating systems?  What do operating systems do?  How do operating systems do what they do?  What are the open issues?

The main topics this course deals with:  Process management  Memory management  File systems  I/O resource management  User management  Security and Reliability issues

1. Mars Pathfinder Priority Inversion (process management) Incident On July 4th, 1997, the Mars Pathfinder landed to a media fanfare and began to transmit data back to Earth. Days later and the flow of information and images was interrupted by a series of total systems resets.

2. Race Condition Bug Creates Blackout for 50 Million (process management, security) On August 14, 2003, a blackout across eight US states and Canada affected 50 million people. PC Authority described the cause, a race condition bug, as something that occurs when “two separate Threads of a single operation use the same element of code.” Without proper synchronization, the threads tangle and crash a system. That’s what happened here with the result 256 power plants offline. The major disruptions manifested themselves in the form of cellular communication with the best form of communication during the outage said to be a laptop using a dial-up modem. And if you just cringed in horror at the word “dial-up,” you’re not alone.

3. Patriot Missile System Timing Issue Leads To 28 Dead (Real-Time OS issue) The most tragic computer software blunder on our list occurred on February 25, 1991, during the Gulf War. While the Patriot Missile System was largely successful throughout the conflict, it failed to track and intercept a Scud missile that would strike an American barracks. The software had a delay and was not tracking the missile launch in real time, thus giving Iraq’s missile the opportunity to break through and explode before anything could be done to stop it, according to the US Government Accountability Office. In all, 28 were killed with an additional 100+ injured.

4. Year 2038 (security and reliability) Although Y2K is passed, we’re not out of the woods just yet. Not all computers handle dates in the same way, and many computers based on the UNIX operating system handle dates by counting how many seconds a date is since 01/01/1970. For example, the date 01/01/1980 is 315,532,800 seconds after 01/01/1970. This number is stored on these computers as a “signed 32-bit integer”, which has a size limit of 2147483647. That basically means it can only handle dates that are up to 2147483647 seconds after 01/01/1970 – which only takes us up to the 19th of January 2038, after which, we may have problems again. This is especially true when we consider that UNIX-based software is more commonly used in “embedded systems” rather than a home PC – that is, systems that have a very specific purpose closely related to their hardware, such as software for robotic assembly lines, digital clocks, network routers, security systems and so on. Also, somebody is going to have to consider what we’re going to do on the 1st of January 10000. Not me though.

due to inadequate OS design (security and reliability) 5. Loss of Communication between the FAA Air Traffic Control Center, and Airplanes due to inadequate OS design (security and reliability) On Tuesday, September 14, 2004, the Los Angeles International Airport, and other airports in the region suspended operations due to a failure of the FAA radio system in Palmdale, California. Technicians onsite failed to perform the periodic maintenance check that must occur every 30 days, and the system shut down without warning as a result. The controllers lost contact with the planes when the main voice communications system shut down unexpectedly. Compounding this situation was the almost immediate crash of a backup system that was supposed to take over in such an event. The outage disrupted about 600 flights (including 150 cancellations), impacting over 30,000 passengers. Flights through the airspace controlled by the Palmdale facility were either grounded, or rerouted elsewhere. Two airplane accidents almost occurred, and countless lives were at risk. A bug in a Microsoft system compounded by human error was ultimately responsible for the three-hour radio breakdown. A Microsoft-based replacement for an older Unix system needed to be reset approximately every 50 days to prevent data overload. A technician failed to perform the reset at the right time, and an internal clock within the system subsequently shut it down. In addition, a backup system also failed. When a system has a known problem, it is never a good idea to continue operation. Instead of relying on an improvised workaround, the bug in the software should be corrected as soon as possible to avoid a potential crisis. Learning from this experience, the FAA deployed a software patch which now addresses this issue.

6. Intel CPU causes OS bugs (reported on Jan 6. Intel CPU causes OS bugs (reported on Jan. 3, 2018) (security and reliability) The exact bug is related to the way that regular apps and programs can discover the contents of protected kernel memory areas. Kernels in operating systems have complete control over the entire system, and connect applications to the processor, memory, and other hardware inside a computer. There appears to be a flaw in Intel’s processors that lets attackers bypass kernel access protections so that regular apps can read the contents of kernel memory. To protect against this, Linux programmers have been separating the kernel's memory away from user processes in what’s being called “Kernel Page Table Isolation.”