Lecture 1 Page 1 CS 111 Summer 2013 Important OS Properties For real operating systems built and used by real people Differs depending on who you are talking.

Slides:



Advertisements
Similar presentations
An Overview Of Virtual Machine Architectures Ross Rosemark.
Advertisements

Threads, SMP, and Microkernels
COM vs. CORBA.
Lecture 13 Page 1 CS 111 Online File Systems: Introduction CS 111 On-Line MS Program Operating Systems Peter Reiher.
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
Chapter 4 Threads, SMP, and Microkernels Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design.
Computer Systems/Operating Systems - Class 8
Operating Systems High Level View Chapter 1,2. Who is the User? End Users Application Programmers System Programmers Administrators.
INTRODUCTION OS/2 was initially designed to extend the capabilities of DOS by IBM and Microsoft Corporations. To create a single industry-standard operating.
Figure 1.1 Interaction between applications and the operating system.
Operating Systems CS208. What is Operating System? It is a program. It is the first piece of software to run after the system boots. It coordinates the.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Chapter 2: Operating-System Structures Modified from the text book.
Operating System Organization
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access memory.
Background History Note 1 Refer to Soltis: Appendix.
Computer Architecture and Operating Systems CS 3230: Operating System Section Lecture OS-7 Memory Management (1) Department of Computer Science and Software.
An Introduction to Software Architecture
IT253: Computer Organization Lecture 4: Instruction Set Architecture Tonga Institute of Higher Education.
Java Introduction Lecture 1. Java Powerful, object-oriented language Free SDK and many resources at
Architecture Support for OS CSCI 444/544 Operating Systems Fall 2008.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
Lecture 1 Page 1 CS 111 Winter 2014 Introduction CS 111 Operating System Principles Peter Reiher.
Operating Systems Lecture 2 Processes and Threads Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard. Zhiqing Liu School of.
OPERATING SYSTEMS Goals of the course Definitions of operating systems Operating system goals What is not an operating system Computer architecture O/S.
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Chapter 1: Introduction and History  Where does the operating system fit in a computing system?  What does the operating system achieve?  What are the.
Operating Systems Lecture November 2015© Copyright Virtual University of Pakistan 2 Agenda for Today Review of previous lecture Hardware (I/O, memory,
Processes Introduction to Operating Systems: Module 3.
1 Threads, SMP, and Microkernels Chapter Multithreading Operating system supports multiple threads of execution within a single process MS-DOS.
CS 346 – Chapter 2 OS services –OS user interface –System calls –System programs How to make an OS –Implementation –Structure –Virtual machines Commitment.
Lecture 2 Page 1 CS 111 Online Operating System Basics CS 111 On-Line MS Program Operating Systems Peter Reiher.
Processes CS 6560: Operating Systems Design. 2 Von Neuman Model Both text (program) and data reside in memory Execution cycle Fetch instruction Decode.
Lecture 2 Page 1 CS 111 Fall 2015 Operating System Basics CS 111 Operating Systems Peter Reiher.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
Lecture 10 Page 1 CS 111 Summer 2013 File Systems Control Structures A file is a named collection of information Primary roles of file system: – To store.
Lecture 4 Page 1 CS 111 Online Modularity and Virtualization CS 111 On-Line MS Program Operating Systems Peter Reiher.
Lecture 2 Page 1 CS 111 Spring 2015 Operating System Basics CS 111 Operating Systems Peter Reiher.
Lecture 7 Page 1 CS 111 Online Process Communications and Concurrency CS 111 On-Line MS Program Operating Systems Peter Reiher.
1 Process Description and Control Chapter 3. 2 Process A program in execution An instance of a program running on a computer The entity that can be assigned.
2.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition System Programs (p73) System programs provide a convenient environment.
Lecture 10 Page 1 CS 111 Online Memory Management CS 111 On-Line MS Program Operating Systems Peter Reiher.
Lecture 4 Page 1 CS 111 Online Modularity and Memory Clearly, programs must have access to memory We need abstractions that give them the required access.
Lecture 1 Page 1 CS 111 Summer 2014 Introduction CS 111 Operating System Principles Peter Reiher.
Threads, SMP, and Microkernels Chapter 4. Processes and Threads Operating systems use processes for two purposes - Resource allocation and resource ownership.
CSCI/CMPE 4334 Operating Systems Review: Exam 1 1.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
UNIX U.Y: 1435/1436 H Operating System Concept. What is an Operating System?  The operating system (OS) is the program which starts up when you turn.
Sung-Dong Kim, Dept. of Computer Engineering, Hansung University Java - Introduction.
Modularity Most useful abstractions an OS wants to offer can’t be directly realized by hardware Modularity is one technique the OS uses to provide better.
Operating System Structures
Kernel Design & Implementation
Operating System Principles: Services, Resources, and Interfaces CS 111 Operating Systems Peter Reiher.
Operating System Principles: Services, Resources, and Interfaces CS 111 Operating Systems Peter Reiher.
Java Beans Sagun Dhakhwa.
Modularity and Memory Clearly, programs must have access to memory
Threads, SMP, and Microkernels
Chapter 2: System Structures
Chapter 8: Memory management
Outline Module 1 and 2 dealt with processes, scheduling and synchronization Next two modules will deal with memory and storage Processes require data to.
Lecture Topics: 11/1 General Operating System Concepts Processes
Lecture 4- Threads, SMP, and Microkernels
Chapter 2: Operating-System Structures
Operating Systems Lecture 3.
Outline Chapter 2 (cont) OS Design OS structure
System calls….. C-program->POSIX call
CSE 153 Design of Operating Systems Winter 2019
Chapter 2: Operating-System Structures
Operating System Principles: Services, Resources, and Interfaces CS 111 Operating System Principles Harry Xu.
Presentation transcript:

Lecture 1 Page 1 CS 111 Summer 2013 Important OS Properties For real operating systems built and used by real people Differs depending on who you are talking about – Users – Service providers – Application developers – OS developers

Lecture 1 Page 2 CS 111 Summer 2013 For the End Users, Reliability Performance Upwards compatibility in releases Support for differing hardware – Currently available platforms – What’s available in the future Availability of key applications Security

Lecture 1 Page 3 CS 111 Summer 2013 Reliability Your OS really should never crash – Since it takes everything else down with it But also need dependability in a different sense – The OS must be depended on to behave as it’s specified – Nobody wants surprises from their operating system – Since the OS controls everything, unexpected behavior could be arbitrarily bad

Lecture 1 Page 4 CS 111 Summer 2013 Performance A loose goal The OS must perform well in critical situations But optimizing the performance of all OS operations not always critical Nothing can take too long But if something is “fast enough,” adding complexity to make it faster not worthwhile

Lecture 1 Page 5 CS 111 Summer 2013 Upward Compatibility People want new releases of an OS – New features, bug fixes, enhancements – Security patches to protect from malware People also fear new releases of an OS – OS changes can break old applications What makes the compatibility issue manageable? – Stable interfaces

Lecture 1 Page 6 CS 111 Summer 2013 Stable Interfaces Designers should start with well specified Application Interfaces – Must keep them stable from release to release Application developers should only use committed interfaces – Don’t use undocumented features or erroneous side effects

Lecture 1 Page 7 CS 111 Summer 2013 APIs Application Program Interfaces – A source level interface, specifying: Include files, data types, constants Macros, routines and their parameters A basis for software portability – Recompile program for the desired architecture – Linkage edit with OS-specific libraries – Resulting binary runs on that architecture and OS An API compliant program will compile & run on any compliant system

Lecture 1 Page 8 CS 111 Summer 2013 ABIs Application Binary Interfaces – A binary interface, specifying Dynamically loadable libraries (DLLs) Data formats, calling sequences, linkage conventions – The binding of an API to a hardware architecture A basis for binary compatibility – One binary serves all customers for that hardware E.g. all x86 Linux/BSD/MacOS/Solaris/… May even run on Windows platforms An ABI compliant program will run (unmodified) on any compliant system

Lecture 1 Page 9 CS 111 Summer 2013 For the Service Providers, Reliability Performance Upwards compatibility in releases Platform support (wide range of platforms) Manageability Total cost of ownership Support (updates and bug fixes) Flexibility (in configurations and applications) Security

Lecture 1 Page 10 CS 111 Summer 2013 For the Application Developers, Reliability Performance Upwards compatibility in releases Standards conformance Functionality (current and roadmap) Middleware and tools Documentation Support (how to...)

Lecture 1 Page 11 CS 111 Summer 2013 For the OS Developers, Reliability Performance Maintainability Low cost of development – Original and ongoing

Lecture 1 Page 12 CS 111 Summer 2013 Maintainability Operating systems have very long lives – Solaris, the “new kid on the block,” came out in 1993 Basic requirements will change many times Support costs will dwarf initial development This makes maintainability critical Aspects of maintainability: – Understandability – Modularity/modifiability – Testability

Lecture 1 Page 13 CS 111 Summer 2013 Critical OS Abstractions One of the main roles of an operating system is to provide abstract services – Services that are easier for programs and users to work with What are the important abstractions an OS provides?

Lecture 1 Page 14 CS 111 Summer 2013 Abstractions of Memory Many resources used by programs and people relate to data storage – Variables – Chunks of allocated memory – Files – Database records – Messages to be sent and received These all have some similar properties

Lecture 1 Page 15 CS 111 Summer 2013 The Basic Memory Operations Regardless of level or type, memory abstractions support a couple of operations – WRITE(name, value) Put a value into a memory location specified by name – value < - READ(name) Get a value out of a memory location specified by name Seems pretty simple But going from a nice abstraction to a physical implementation can be complex

Lecture 1 Page 16 CS 111 Summer 2013 An Example Memory Abstraction A typical file We can read or write the file We can read or write arbitrary amounts of data If we write the file, we expect our next read to reflect the results of the write – Coherence If there are several reads/writes to the file, we expect each to occur in some order – With respect to the others

Lecture 1 Page 17 CS 111 Summer 2013 Abstractions of Interpreters An interpreter is something that performs commands Basically, the element of a computer (abstract or physical) that gets things done At the physical level, we have a processor That level is not easy to use The OS provides us with higher level interpreter abstractions

Lecture 1 Page 18 CS 111 Summer 2013 Basic Interpreter Components An instruction reference – Tells the interpreter which instruction to do next A repertoire – The set of things the interpreter can do An environment reference – Describes the current state on which the next instruction should be performed Interrupts – Situations in which the instruction reference pointer is overriden

Lecture 1 Page 19 CS 111 Summer 2013 An Example Interpreter Abstraction A CPU It has a program counter register indicating where the next instruction can be found – An instruction reference It supports a set of instructions – Its repertoire It has contents in registers and RAM – Its environment

Lecture 1 Page 20 CS 111 Summer 2013 Abstractions of Communications Links A communication link allows one interpreter to talk to another – On the same or different machines At the physical level, wires and cables At more abstract levels, networks and interprocess communication mechanisms Some similarities to memory abstractions – But also differences

Lecture 1 Page 21 CS 111 Summer 2013 Basic Communication Link Operations SEND(link_name, outgoing_message_buffer) – Send some information contained in the buffer on the named link RECEIVE(link_name, incoming_message_buffer) – Read some information off the named link and put it into the buffer Like WRITE and READ, in some respects

Lecture 1 Page 22 CS 111 Summer 2013 An Example Communications Link Abstraction A Unix-style socket SEND interface: – send(int sockfd, const void *buf, size_t len, int flags) – The sockfd is the link name – The buf is the outgoing message buffer RECEIVE interface: – recv(int sockfd, void *buf, size_t len, int flags) – Same parameters as for send

Lecture 1 Page 23 CS 111 Summer 2013 Some Other Abstractions Actors – Users or other “active” entities Virtual machines – Collections of other abstractions Protection environments – Security related, usually Names Not a complete list Not everyone would agree on what’s distinct