Bridge the gap between hardware and software



Yüklə 463 b.
tarix08.10.2017
ölçüsü463 b.



Bridge the gap between hardware and software

  • Bridge the gap between hardware and software

  • Establish a foundation for building higher-level programs

    • How to optimize programs
    • How to debug large systems
    • How to deal with complexity


An operating system (OS) provides a virtual execution environment on top of hardware that is more convenient than the raw hardware interface

  • An operating system (OS) provides a virtual execution environment on top of hardware that is more convenient than the raw hardware interface

    • “All of the code you did not write”
    • Simpler
    • More reliable
    • More secure
    • More portable
    • More efficient


Manage physical resources

  • Manage physical resources

  • Provide virtual resources

  • Implement mechanisms and enforce policies for the control and use of resources

  • Mediate the interaction of mutually distrusting applications



CPU

  • CPU

  • Memory

  • Storage Devices

  • Networks

  • Input Devices (keyboard, mice, cameras)

  • Output Devices (printers, displays, speakers)

  • And many virtual resources



Structure: how is an OS organized?

  • Structure: how is an OS organized?

  • Concurrency: how are parallel activities created and controlled?

  • Sharing: how are resources shared?

  • Naming: how are resources named by users?

  • Protection: how are distrusting parties protected from each other?

  • Security: how to authenticate, authorize and ensure privacy?

  • Performance: why is it so slow?



Reliability: how do we deal with failures?

  • Reliability: how do we deal with failures?

  • Extensibility: how do we add new features?

  • Communication: how do we exchange information?

  • Scale: what happens as demands increase?

  • Persistence: how do we make information outlast the processes that created it?

  • Accounting: who pays the bills and how do we control resource usage?



Provides an understanding from the bottom up

  • Provides an understanding from the bottom up

  • Even if few people build OSes, understanding how Oses work is crucial for building working systems

  • This course will go far beyond OS design to cover all aspects of computer organization, including concurrency, synchronization, input/output, filesystems, networking, routing, distributed systems and so forth

  • Engineering pride alone requires full understanding



There has never been as exciting a time to work on systems hardware and software as now!!!

  • There has never been as exciting a time to work on systems hardware and software as now!!!

  • The world is increasingly dependent on computer systems

    • Connected, networked, interlinked
  • People just do not know how to build robust systems









A safety-critical system with software interlocks

  • A safety-critical system with software interlocks

  • Beam controlled entirely through a custom OS



Old system used a hardware interlock

  • Old system used a hardware interlock

    • A lever that could either be in the “zap” or “x-ray” position
  • New system was computer controlled

  • A synchronization failure was triggered when competent nurses used the back arrow to change the data on the screen “too quickly”



Beam killed one person directly, burned others, and may have given inadequate treatment to cancer patients

  • Beam killed one person directly, burned others, and may have given inadequate treatment to cancer patients

  • Problem was very difficult to diagnose; initial fix involved removal of the back arrow key from the keyboard

  • People died because a programmer could not write correct code for a concurrent system



The most modern, most expensive airport in recent history

  • The most modern, most expensive airport in recent history

    • Cost overrun in excess of $2B
  • Highly automated luggage handling system was supposed to deliver your luggage to you at arrival

  • Lack of persistence caused luggage carts to “forget” their contents, sprinkling the luggage on the runway



Modern guided missile cruiser off of Norfolk, VA in 1998

  • Modern guided missile cruiser off of Norfolk, VA in 1998

  • Crew member entered 0 for a data value

  • Cascade of failures led to a failure of the propulsion system

  • Yorktown was dead in the water for a couple of hours



FAA air traffic control system

  • FAA air traffic control system

  • IRS data management system

  • IBM “Microkernel”

  • Pentagon data security

  • Many others, too numerous to list



We do not have the necessary technologies and know-how to build robust computer systems

  • We do not have the necessary technologies and know-how to build robust computer systems

  • There is huge demand for people who deeply understand and can build robust systems



Lectures

  • Lectures

    • Tuesday, Thursday 2:55-4:10pm, Hollister B14
  • Instructor

  • TAs

    • Deniz Altinbuken, Robert Escriva, Jason Wu
    • Dinesh Bhat, Jian Chear


Course Web Page

  • Course Web Page

    • Office hours, assignments, lectures, and other supplemental materials will be on the web site
  • Email

    • cs4410staff at systems.cs.cornell.edu
    • The email alias goes to me and the TAs, not to the whole class


Course has three components

  • Course has three components

  • Textbook

    • Silberschatz, Galvin & Gagne
    • Operating System Concepts, 8th ed.
  • You are expected to keep up with all three



CS4410 Breakdown

  • CS4410 Breakdown

    • ~40% MiniProjects
    • ~12% Prelim 1
    • ~18% Prelim 2
    • ~25% Final
    • ~5% Flexgrade (participation, attitude, effort)
  • CS4411 Breakdown

    • ~90% Projects
    • ~10% Flexgrade
  • Grading will not be done on a curve

    • It is my goal to be able to give everyone an A+
    • Help me achieve this


Projects will be done in two-person teams

  • Projects will be done in two-person teams

    • You may indicate a desired partner
    • If they also indicate you, we will pair you up
    • If you don’t have a preferred partner, we’ll pair you up with someone suitable
  • Working in groups

    • Start early, time management is key
    • Manage the team effort
    • Part of what you are supposed to learn is how to manage to get work done in a small team


There will be approximately 4-6 miniprojects

  • There will be approximately 4-6 miniprojects

  • MiniProjects will be done individually

  • Working individually

    • Start early, time management is key


All submitted work must be your own

  • All submitted work must be your own

    • All homeworks must be your own independent work
    • OK to study together
    • Cannot share solutions, ever
  • Project groups submit joint work

    • All group assignments must represent solely the work of the two people in that group
    • Cannot be in possession of someone else’s solution
  • Violations will be prosecuted to the fullest extent

  • Closed-book exams, no calculators



Introduction

  • Introduction

  • Architectural Support for Operating Systems

  • Processes and Threads

  • Scheduling

  • Synchronization, Mutual Exclusion, Spin Locks, Semaphores, Condition Variables

  • Deadlocks, Detection and Avoidance

  • Memory Management

  • Networking, LANs, WANs, Ethernet, ARP, IP, UDP, TCP

  • Disks and RAID

  • Filesystems, UFS, LFS

  • Security



Threads and Concurrency

  • Threads and Concurrency

  • Scheduling

  • Basic Datagram Networking

  • Reliable Streaming Protocols

  • Routing

  • Filesystems



And demographics…

  • And demographics…





Dostları ilə paylaş:


Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2017
rəhbərliyinə müraciət

    Ana səhifə