Operating systems ICOM 5007 - PowerPoint PPT Presentation

1 / 22
About This Presentation
Title:

Operating systems ICOM 5007

Description:

To introduce the principal concepts of operating systems ... emulates a separate machine for each user session. ICOM 5007 - Noack. The basic layered structure ... – PowerPoint PPT presentation

Number of Views:59
Avg rating:3.0/5.0
Slides: 23
Provided by: tomn8
Category:

less

Transcript and Presenter's Notes

Title: Operating systems ICOM 5007


1
Operating systems ICOM 5007
  • Webpage - http//ece.uprm.edu/noack/icom5007
  • Includes
  • Project
  • Labs
  • Standard methodology lectures and exams

2
Purpose and Objectives
  • Purpose
  • To introduce the principal concepts of operating
    systems and to give experience in programming
    concurrent processes as used in developing
    operating systems
  • Objectives
  • After completing this course you should be able
    to
  • Understand the basic concepts of operating
    systems and concurrent interacting processes
  • Be able to use these concepts either in
    programming operating systems or in designing and
    implementing other systems using concurrency

3
The ABET outcomes for ICOM 5007
  • Understand the five resource types of an
    operating system
  • Analyze the differences between Linux and Windows
    operating system structure
  • Analyze the organization of Linux source code and
    describe how it accomodates various platforms and
    I/O devices
  • Program and analyze performance of representative
    concurrency examples
  • Relate memory management techniques to process
    structure and reliable OS functioning
  • Analyze a typical device driver, understanding
    methods to link it to the OS as a whole
  • Program a threaded application in a language
    supporting monitors such as Java
  • Relate system security aspects to OS internals
  • Analyze malware and hacking attacks as they
    relate to OS
  • Define, implement and test a significant OS
    project
  • Coordinate group accomplishment of the project
  • Prepare and give oral and written project reports

4
Operating Systems - Administrivia
  • Prontuario - Please time-share and ask questions
  • Info is in my homepage http//ece.uprm.edu/noack
  • Make bookmark for ICOM5007
  • Page contains
  • prontuario
  • Links to old exams and labs
  • Links to authors webpage and resources
  • Links to current assignments, writeups, and
    slides as developed
  • Course includes
  • Exams and lecture material
  • Lab work
  • Project (described in course page)
  • Lab
  • Partly in OS/Networking lab
  • Individual programs, often using Linux source or
    Java threads

5
More Administrivia
  • Office hours
  • Tuesday, Thursday 900 am 1030 am, 1230 pm
    200 pmAlso I am often available in the
    universal hour Tuesday and Thursday 1030 am
    1230 pm
  • For in-office consultation I suggest calling on
    X3652 or emailing and will normally see you any
    time I am in the office). 
  • I will answer questions after class or between
    classes in the classroom, but not when it
    interferes with the next class given by another
    professor.
  • Email is often the best way to resolve detailed
    or short questions. I am easily available by
    email, even at odd times such as evenings and
    weekends.

6
More Administrivia
  • Save a tree.
  • Except for exams, the prontuario is the last
    piece of paper to be passed out in class.
  • All other material will be distributed through my
    web page http//ece.uprm.edu/noack. You are
    responsible for checking this page at least once
    per week, and when changes are announced in class
  • Similarly, homework and projects are to be handed
    in as email enclosures and not hardcopy.
  • Exams
  • The exams will be held from 730-930 PM,
    February 17, March 17, and April 28, in S-227 or
    S-228, or S-229.
  • If you have a conflict with a regular class or
    with an exam announced before this document is
    distributed please contact me. If an exam is
    announced for another class after this date, the
    other instructor is responsible for resolving the
    conflict.
  • One compensatory free period will be given for
    each night exam.

7
Operating Systems - More Trivia
  • Lab instructor to be announced
  • Projects
  • Info on course page
  • Try to form groups soon - three or four people
  • Project can be
  • Device driver or module
  • Operating system utility
  • Operating system modification/improvement
  • More information on course page

8
More Administrivia
  • New textbook edition appeared in December 2007
  • Do not buy the second edition (dark blue book)
  • The older edition was six years old good but
    outdated
  • Link to the text page coming soon to your
    neighborhood
  • Email addresses and project names
  • Please send an email with your name
  • When you form a project group please give it an
    easily recognizable name put that name as part
    of any file you email. Also, send an email with
    the project name and copy it to all the group
    members
  • In any document you turn in please put all your
    names and email addresses that allows me to put
    comments in the document and return them in
    email.
  • Be kind to trees use email, not paper.

9
Operating Systems - Basics
  • An OS is a program that controls and shares the
  • resources of a computing system, which are
  • CPU time (or allotment in distributed systems)
  • Memory allocation and swapping to background
  • I/O device handling - the dirty details
  • File systems
  • Network devices, layers and protocols
  • An OS is (after initial setup) an
    interrupt-driven program
  • Interrupts may come from
  • I/O devices
  • Timer interrupts - time slicing and hangup
    recovery
  • Software interrupts - system call mechanism

10
Operating Systems - Structures
  • Monolithic
  • One big complicated layer between users and
    hardware
  • Unix is a typical monolithic system
  • Layered - with microkernel
  • Example - Mach contains
  • Processes
  • Threads
  • Messages
  • Memory blocks
  • and everything else is implemented in higher
    layers using these highly protected basics
  • Virtual Machine
  • VM360 (IBM) is an example
  • The virtual machine layer is
  • between hardware and client machines
  • emulates a separate machine for each user session

11
The basic layered structureof all operating
systems
Application layer
System call interface
Operating system
Hardware/software interface
Hardware components
The concentric shell picture
Layers as usually drawn
12
More OS Structures
  • The main OS program is often called the kernel
  • The Kernel
  • operates in privileged mode
  • contains the device drivers and modules
  • contains process, memory and file management
  • is protected by the system call interface - the
    INT instruction in 80x86 architecture
  • The system call interface
  • Is implemented by the INT (in i386) or similar
    instruction
  • Is used when a user program makes a system call
  • Is the transition from user to kernel mode
  • Keeps users from running kernel code

13
Monolithic operating system structuree. g.
Unix/Linux
Application layer
System call interface
Process handling
File system routines
Memory management
Intermediate routine
Device driver
Device driver
Hardware
14
Microkernel-based systeme. g. Mach (used for
distributed systems)
Application layer
Outer kernel I Could be Posix Compliant layer
Outer kernel II Could be VMS emulator
Outer kernel III Experimental OS?
Microkernel layer
Hardware entities (can be several)
15
Virtual machine systemVM first secure OS for
IBM 360/370
Virtual machine layer
Hardware
16
Inside Windows 2K
17
Inside the Linux kernel
18
The shell is not the kernel
  • The shell is an ordinary user program
  • It operates by creating processes that in turn do
    system calls or run programs
  • It is the equivalent of COMMAND.COM in MS/DOS
  • Shell programming is possible and is often done
    in OS utilities
  • Extensions of shell programming include
  • PERL
  • awk and sed
  • ksh, csh, bash and other enhanced shells

19
The standard lies of OS
  • There is a separate processor for each process
  • The CPU is time-shared
  • You really have all that memory
  • Memory is loaded only when needed - demand paging
  • You are really doing all those disk operations
  • The operations are done when and if the OS
    pleases - the disk block cache idea
  • That remote file system is really there
  • Remote file system utilities are a little
    unpredictable
  • The OS is really secure
  • Ask the big kids

20
Concurrency
  • The theoretical core of OS
  • An OS creates a set of processes that run
    concurrently
  • A process is like a person - it has
  • a stream of consciousness
  • possessions - memory, files, data
  • is created, reproduces, dies
  • interacts with other processes
  • In actuality, it is a program in execution
  • Concurrent process misbehaviors
  • Race conditions - unpredictable results because
    processes simultaneously modify data or devices
  • Deadlocks - Each has what the other wants, nobody
    gets anywhere
  • Starvation - some processes go hungry - others
    eat well

21
Some operating system ideas
  • Everything is a file - even devices
  • This allows a program to work with human input,
    or a device, or a temporary or permanent file or
    even a network connection
  • The file system provides access control for
    devices also protects raw disk operations from
    users
  • Interrupt-driven behavior
  • Example - windows - process is simultaneously
    sensitive to events from mouse, keyboard, process
    subsystem, and window manager
  • Caching - Foreground and background copies
  • Used in
  • Cache memory
  • Swapping
  • The disk block cache - recent transactions are in
    memory
  • Networking utilities
  • Advantage operations take place at memory speeds

22
What is changing in OS
  • Applications
  • More varieties of systems now need OS
  • Embedded systems
  • Mobile computing (cellphones, PDAs
  • Desktop systems
  • Servers and small enterprise systems
  • Large distributed systems
  • Hardware
  • Multicore processors
  • Gadgets
  • Mobile computing (usually wireless)
  • Server complexes
  • Large distributed and redundant systems
Write a Comment
User Comments (0)
About PowerShow.com