Operating systems icom 5007
1 / 22

- PowerPoint PPT Presentation

  • Updated On :

Operating systems – ICOM 5007. Webpage - http://ece.uprm.edu/~noack/icom5007 Includes Project Labs Standard methodology – lectures and exams. Purpose and Objectives. Purpose:

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about '' - Pat_Xavi

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Operating systems icom 5007 l.jpg

Operating systems – ICOM 5007

Webpage - http://ece.uprm.edu/~noack/icom5007




Standard methodology – lectures and exams

ICOM 5007 - Noack

Purpose and objectives l.jpg
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

ICOM 5007 - Noack

The abet outcomes for icom 5007 l.jpg
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

ICOM 5007 - Noack

Operating systems administrivia l.jpg
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 author’s 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

ICOM 5007 - Noack

More administrivia l.jpg
More Administrivia

  • Office hours:

    • Tuesday, Thursday 9:00 am – 10:30 am, 12:30 pm – 2:00 pmAlso I am often available in the universal hour Tuesday and Thursday 10:30 am – 12:30 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.

ICOM 5007 - Noack

More administrivia6 l.jpg
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 7:30-9:30 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.

ICOM 5007 - Noack

Operating systems more trivia l.jpg
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

ICOM 5007 - Noack

More administrivia8 l.jpg
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.

ICOM 5007 - Noack

Operating systems basics l.jpg
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

ICOM 5007 - Noack

Operating systems structures l.jpg
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

ICOM 5007 - Noack

The basic layered structure of all operating systems l.jpg
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

ICOM 5007 - Noack

More os structures l.jpg
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

ICOM 5007 - Noack

Monolithic operating system structure e g unix linux l.jpg
Monolithic operating system structuree. g. Unix/Linux

Application layer

System call interface



File system






Device driver

Device driver


ICOM 5007 - Noack

Microkernel based system e g mach used for distributed systems l.jpg
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


Outer kernel III



Microkernel layer

Hardware entities (can be several)

ICOM 5007 - Noack

Virtual machine system vm first secure os for ibm 360 370 l.jpg

User I



User II



User III



Kernel image


User I

Kernel image


User II

Kernel image


User III

Virtual machine systemVM – first secure OS for IBM 360/370

Virtual machine layer


ICOM 5007 - Noack

Inside windows 2k l.jpg
Inside Windows 2K

ICOM 5007 - Noack

Inside the linux kernel l.jpg
Inside the Linux kernel

ICOM 5007 - Noack

The shell is not the kernel l.jpg
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

ICOM 5007 - Noack

The standard lies of os l.jpg
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

ICOM 5007 - Noack

Concurrency l.jpg

  • 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

ICOM 5007 - Noack

Some operating system ideas l.jpg
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

ICOM 5007 - Noack

What is changing in os l.jpg
What is changing in OS

  • Applications

    • More varieties of systems now need OS

      • Embedded systems

      • Mobile computing (cellphones, PDA’s

      • 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

ICOM 5007 - Noack