Operating Systems WS 0910 - PowerPoint PPT Presentation

1 / 25
About This Presentation
Title:

Operating Systems WS 0910

Description:

... of Embedded Systems via Monitors on Operating System-level using Lego Mindstorms' ... Caching (storing parts of data in faster storage for performance) ... – PowerPoint PPT presentation

Number of Views:36
Avg rating:3.0/5.0
Slides: 26
Provided by: kris48
Category:

less

Transcript and Presenter's Notes

Title: Operating Systems WS 0910


1
Operating Systems WS 09-10
  • Prof. Neeraj Suri
  • DEEDS (Dependable Systems SW Group)
  • www.deeds.informatik.tu-darmstadt.de

Dinu Sarbu
Majid Khelil
Piotr S.
Brahim Ayari
2
Contact Info
  • www.deeds.informatik.tu-darmstadt.de/teaching/cou
    rses/WS0910/os
  • Prof. Neeraj Suri
  • suri_at_cs.tu-darmstadt.de
  • Office Hours by appointment
  • Exercises Piotr Szczytowski
  • piotr_at_informatik.tu-darmstadt.de
  • Office Hours Wednesdays 14.30-15.30 in
    S2/02-E219
  • Labs Constantin Sarbu, Brahim Ayari
  • cs_at_cs.tu-darmstadt.de / brahim_at_informatik.tu-darms
    tadt.de
  • Office Hours Wednesdays, 1430 1530 in
    S2/02-E206, E207

3
Course Structure
  • Credit points
  • SWS 5 (23)
  • "Credits" 7,5
  • Track in the Diplom program Informatik II
  • Schedule
  • Lecture   (Wed, 11.40-13.20, S202 C205)
  • Exercise (Thu, 11.40-13.20, S202 C110)
  • First exercise next week (Oct. 22nd)!
  • Lab instructions (TBA, S202 E212) 
  • Exams
  • Mid-Term exam
  • Final exam

4
Exams
  • Mid-Term exam
  • mid Dec. - early Jan. (tentative!)
  • Corrected/evaluated in the lecture theatre, and
    discussed in the next exercise
  • Bring bonus points
  • Final exam
  • Date and location will be announced well in
    advance
  • Bonus points are only valid for this exam and not
    for subsequent ones!

5
Bonus points
  • Exams ONLY from lecture foils AND material
    covered in class!!!
  • Bonus points (to improve final grade) From (a)
    Mid-term exam, (b) Labs and (c) Exercises -
    apply _if_ you pass the final exam successfully!
    ?
  • Total 100 BP
  • Mid-term exam - 30 BP
  • Labs (optional) - 50 BP
  • Exercises - 20 BP
  • Increase
  • 00 - 50 BP -gt 0.0 points
  • 51 - 70 BP -gt 0.3 points
  • 71 - 90 BP -gt 0.7 points
  • 91 -100 BP -gt 1.0 points

6
Labs
  • Lab assignments
  • - Optional, but one exam problem will require
    lab experience!
  • - Bonus points
  • Linux modules!
  • Applying concepts from lectures to real OSs
  • Content TBA
  • Windows drivers!
  • Hands-on with actual Windows drivers
  • Content TBA
  • Wireless Sensor Networks Mobility
  • Hands on with sensor motes, autonomous robots
  • Content TBA
  • Location
  • Poolroom E212
  • Username and Password will be handed out

7
Relevant Literature Lecture Foils
  • Modern Operating Systems A. Tanenbaum, Prentice
    Hall
  • Operating System Concepts, Silberschatz et al,
    John Wiley and Sons
  • Both books are available (in limited numbers!)
    from the library
  • http//www.bib.informatik.tu-darmstadt.de/
  • Slides are available on the lectures homepage
  • We will try to upload the foils shortly before
    the lecture
  • Username oslecture, password operatingsystem

8
Related seminars and projects
  • Related seminars
  • Secure and Reliable OS
  • http//www.deeds.informatik.tu-darmstadt.de/teachi
    ng/courses/WS0910/sros/index.html
  • Embedded Mobile Computing
  • http//www.deeds.informatik.tu-darmstadt.de/teachi
    ng/courses/WS0910/emc/index.html
  • Related HiWi / MSc/ BSc/ Diploma projects
    examples
  • Refactoring a Fault-Injection Framework and
    Porting it from Windows CE to Linux
  • Security-Monitoring of Embedded Systems via
    Monitors on Operating System-level using Lego
    Mindstorms
  • Implementation of Data Transport Protocols on
    Real Testbeds
  • Development of Alternative, Resilient
    Shortest-paths with Lego Mindstrom
  • Threat-modeling and Security-hardening of Sensor
    Motes
  • More MS/BS http//www.deeds.informatik.tu-darmsta
    dt.de/teaching/msthesis.html
  • More HiWi http//www.deeds.informatik.tu-darmstad
    t.de/jobs/hiwi.html

9
OS History
  • Initially there was no OS (just a single program)
  • Now
  • distributed, networked, virtual machines,
    multi-user, multi-core, smart cards
  • running everywhere (on mobile phones, iPods,
    mainframes, Google, etc.)
  • commercial-off-the-shelf (COTS) products

10
OS Definition
OS program (or set of programs) providing -
execution environment for user applications -
interface between HW resources and user with
resource arbitration
11
OS Structures?
  • Monolithic all user/kernel functions inside a
    single kernel (pro all OS
    procedures can call on each other, visible to
    all. con all procedures need to be compiled and
    linked to each other static!)
  • Layered
  • Virtual machines
  • Client-Server/Microkernel based non-basic
    services float as servers with a basic kernel for
    primitive functions IPC based!

12
Virtual Machines
  • Structure of VM/370 with CMS JVMs?
  • CMS Conversational / Console Monitor System
    lightweight single-user OS

13
Client-Server Computing Environments
  • Split by functionality into Providers (Servers)
    Consumers (Clients)
  • Servers respond to requests generated by clients
  • Compute-server provides an interface to client to
    request services (i.e. database)
  • File-server provides interface for clients to
    store and retrieve files

14
Client-Server Model 1 The Flat Model
- as a communication co-ordinator
15
Client-Server Model 2 Distributed Model
16
Distributed/Networked OSs?
  • Flexible resources/functionality can be added
  • Sharing of data, messages, devices
  • Cheaper? price/performance
  • Faster?
  • Secure, networked, load balancing?

17
Operating System Functionality
  • OS is a resource allocator
  • Manages all resources (HW, applications, etc)
  • Decides between conflicting requests for
    efficient and fair resource use
  • each program gets its time with the computing
    resource
  • each program gets its space with the computing
    resource
  • OS is a control program
  • Controls execution of programs to prevent errors
    and improper use of the resources (HW and
    programs) ordering, sequencing,

18
Process Management
  • Process is a program in execution. Program is a
    passive entity (code), process is an active
    entity (executable).
  • Process needs resources to accomplish its task
  • CPU, memory, I/O, files
  • Initialization data
  • Process termination requires reclaim of any
    reusable resources
  • Process executes instructions sequentially, one
    at a time, until completion
  • Single-threaded process has one program counter
    specifying location of next instruction to
    execute
  • Multi-threaded process has one program counter
    per thread
  • Typically, (modern) systems have many processes,
    some user, some operating system running
    concurrently on one or more CPUs
  • Concurrency by multiplexing the CPUs among the
    processes / threads

19
Process Management Activities
  • OS responsible for 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

20
Memory Management
  • Memory contains
  • All data before and after processing
  • All instructions and their order to execute
  • Memory management determines what is in memory in
    order to
  • Optimize CPU utilization and computer response to
    users
  • Memory management activities
  • Keeping track of which parts of memory are
    currently being used and by whom
  • Deciding which processes (or parts thereof) and
    data to move into and out of memory
  • Allocating and deallocating memory space as
    needed

21
Storage Management File Systems/Mass Storage
  • OS provides uniform, logical view of information
    storage
  • Abstracts physical properties to logical storage
    unit - file
  • File-System management
  • Files usually organized into directories
  • Access control to determine who can access what
    when (RW!)
  • OS activities include
  • Creating and deleting files and directories
  • Primitives to manipulate files and dirs
  • Mapping files onto alternate storage
  • Backup files onto stable (non-volatile) storage
    media
  • Speed of OS operations hinges on disk subsystem
    and its algorithms
  • Free-space management
  • Storage allocation
  • Disk scheduling

22
I/O Subsystem
  • OS hides operations of hardware devices from the
    user application to HW interfaces
  • I/O subsystem is responsible for
  • Memory management of I/O including buffering
    (storing data temporarily while it is being
    transferred)
  • Caching (storing parts of data in faster storage
    for performance)
  • Spooling (the overlapping of output of one job
    with input of other jobs)
  • Drivers for specific hardware devices

23
Operating System Functionality
  • Flexible resources/functionality can be added
  • Sharing of data, msg, devices
  • Cheaper? price/performance
  • Faster?
  • Secure, networked, load balancing?
  • OS is a resource allocator
  • Manages all (HW, applications etc) resources
  • Decides between conflicting requests for
    efficient and fair resource use
  • each program gets its time with the computing
    resource
  • each program gets its space with the computing
    resource
  • OS is a control program
  • Controls execution of programs to prevent errors
    and improper use of the computer ordering,
    sequencing,

24
Application- Process
User- Process
Utilities Shells, Editor, Compiler
Libraries e.g. libx.a
User- Process
Application
Application
Application Programming Interface (API) e.g.
open, close, read, write, fork, exec, kill
Login
Memory- Management
File System Access Control
Process/Thread Management
Authentication Passwords
Interrupt- System
Device Drivers
Networking TCP/IP, PPP, ...
OS kernel
I/O-System
Hardware (centralized or distributed)
25
Course Outline
  • Processes and Threads
  • Deadlocks/Distributed Concurrency Management 
  • Memory Management
  • Input/Output
  • File Systems 
  • Resource Allocation/Scheduling
  • Distributed/Networked OS Models, RPC, IPC
  • Drivers and System Profiling 
  • Security
Write a Comment
User Comments (0)
About PowerShow.com