unit- vi advance tools and technologies(and problem solving in the os) :

76
Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Upload: leo-bridges

Post on 12-Jan-2016

216 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Unit- VI

Advance Tools and Technologies(and problem solving in the OS) :

Page 2: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Contents:• Uniprocessor Scheduling• Multiprocessor Scheduling• Real-Time Scheduling• Linux Scheduling • Unix Scheduling • Windows Scheduling

Page 3: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Uniprocessor Scheduling :• FCFS• RR• SJF/SPN• SRT• Priority Scheduling

• Preemptive Scheduling• Non preemptive Scheduling

Page 4: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Classifications of Multiprocessor Systems• Loosely coupled processors, • Each has their memory & I/O channels

• Functionally specialized processors• Controlled by a master processor• Such as I/O processor

• Tightly coupled multiprocessing• Processors share main memory • Controlled by operating system

Page 5: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Granularity• Or frequency of synchronization, between processes in a

system.• Five categories, differing in granularity:• Independent Parallelism• Coarse Parallelism • Very Coarse-Grained Parallelism• Medium-Grained Parallelism• Fine-Grained Parallelism

Page 6: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Synchronization Granularity and Processes

Page 7: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Scheduling Design Issues• Scheduling on a multiprocessor involves three interrelated

issues:• Assignment of processes to processors• Use of multiprogramming on individual processors• Actual dispatching of a process

• The approach taken will depend on the degree of granularity of applications and the number of processors available

Page 8: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Assignment of Processes to Processors• Assuming all processors are equal, it is simplest to treat

processors as a pooled resource and assign process to processors on demand.• Should the assignment be static or dynamic?

• Dynamic Assignment• threads are moved from a queue for one processor to a queue for

another processor.

Page 9: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Static Assignment• Permanently assign process to a processor• Dedicate short-term queue for each processor• Less overhead• Allows the use of ‘group’ or ‘gang’ scheduling

• But may leave a processor idle, while others have a backlog• Solution: use a common queue

Page 10: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Assignment ofProcesses to Processors• Both dynamic and static methods require some way of

assigning a process to a processor• Two methods:• Master/Slave• Peer

Page 11: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Master - Slave Architecture:• Key kernel functions always run on a particular processor• Master is responsible for scheduling• Slave sends service request to the master• Disadvantages• Failure of master brings down whole system• Master can become a performance bottleneck

Page 12: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Peer architecture• Kernel can execute on any processor• Each processor does self-scheduling• Complicates the operating system• Make sure two processors do not choose the same process

Page 13: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Scheduling :• Process Scheduling :• Usually processes are not dedicated to processors• A single queue is used for all processes• Or multiple queues are used for priorities• All queues feed to the common pool of processors

• Thread Scheduling• An application can be a set of threads that cooperate and execute

concurrently in the same address space• Dramatic gains in performance are possible in multi-processor

systems• Compared to running in uniprocessor systems

Page 14: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Approaches toThread Scheduling• Many proposals exist but four general approaches stand out:• Load Sharing• Gang Scheduling• Dedicated processor assignment• Dynamic scheduling

Page 15: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Load Sharing• Processes are not assigned to a particular processor• Load is distributed evenly across the processors• No centralized scheduler required• FCFS• Smallest no of Threads First• Pre-emptive Smallest no of Threads First

• Disadvantages :• Central queue needs mutual exclusion• Can lead to bottlenecks

• Preemptive threads are unlikely resume execution on the same processor

Page 16: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Gang Scheduling• A set of related processes are scheduled to run on a set of

processors at the same time• Parallel execution of closely related processes may reduce

overhead such as process switching and synchronization blocking.

• Single decision affects a number of processors and processes at one time, so less scheduling overhead.

Page 17: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Dedicated Processor Assignment• When application is scheduled, its threads are assigned to a

processor• Some processors may be idle• No multiprogramming of processors

• Useful in:• Highly parallel systems, processor utilization is less important

than effectiveness• Avoiding process switching speeds up programs

Page 18: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Dynamic Scheduling• Number of threads in a process are altered dynamically by the

application• This allows the OS to adjust the load to improve utilization

• If idle processor, allocate it.• If new job, allocate processor from the job having more than

one.• If a job needs more processors, wait until available or request

cancels.• If processor becomes free, allocate it to waiting jobs.

Page 19: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Real-Time Scheduling• Correctness of the system depends on logical result of the

computation as well as on the time at which the results are produced.

• Tasks or processes attempt to control or react to events that take place in the outside world.

• These events occur in “real time” and tasks must be able to keep up with them.

Page 20: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Real-Time Systems• Control of laboratory experiments• Process control in industrial plants• Robotics• Air traffic control• Telecommunications• Military command and control systems

Page 21: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Terms:• Periodic vs Aperiodic• Periodic tasks

• Are completed regularly, once per period T or T units apart• Aperiodic tasks

• have time constraints either for deadlines or start

• Hard vs Soft• “Hard “ real time task:

• One that must meet a deadline• “Soft” real time task

• Has a deadline which is desirable but not mandatory

Page 22: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Characteristics of Real Time Systems• Real time systems have requirements in five general areas:• Determinism• Responsiveness• User control• Reliability• Fail-soft operation

Page 23: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Determinism• Operations are performed at fixed, predetermined times or

within predetermined time intervals• Concerned with how long the operating system delays before

acknowledging an interrupt and there is sufficient capacity to handle all the requests within the required time

Page 24: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Responsiveness• How long, after acknowledgment, it takes the operating

system to service the interrupt• Responsiveness includes:• Amount of time to begin execution of the interrupt• Amount of time to perform the interrupt• Effect of interrupt nesting

Page 25: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

User control• It is essential to allow the user fine-grained control over task

priority.• May allow user to specify things such as paging or process

swapping• Disks transfer algorithms to use• Rights of processes

Page 26: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Characteristics• Reliability• Degradation of performance may have catastrophic

consequences• Fail-soft operation• Ability of a system to fail in such a way as to preserve as much

capability and data as possible• Stability is important – if all deadlines are impossible, critical

deadlines still meet.

Page 27: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Features of Real-Time OS:• Fast process or thread switch• Small size• Ability to respond to external interrupts quickly• Multitasking with inter-process communication tools such as

semaphores, signals, and events• Use of special sequential files that can accumulate data at a

fast rate• Preemptive scheduling base on priority• Minimization of intervals during which interrupts are disabled• Delay tasks for fixed amount of time

Page 28: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Classes of Real-Time Scheduling Algorithms• Static table-driven• Task execution determined by a feasibility schedule

• Static priority-driven preemptive• Traditional priority-driven scheduler is used

• Dynamic planning-based• Feasibility determined at run time

• Dynamic best effort• No feasibility analysis is performed• Aborts any started process whose deadline is missed.

Page 29: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Deadline Scheduling• Real-time applications are concerned with completion of task

strictly on the basis of time• Information used• Ready time• Starting deadline• Completion deadline• Processing time• Resource requirements• Priority• Subtask scheduler

Page 30: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Two Tasks

Page 31: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Periodic Scheduling

Page 32: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Execution Profile

Page 33: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Aperiodic Scheduling

Page 34: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Rate Monotonic Scheduling:

• Assigns priorities to tasks on the basis of their time periods• Highest-priority task is the one with the shortest period

Page 35: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Periodic Task Timing Diagram

Page 36: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Priority Inversion• Can occur in any priority-based preemptive scheduling scheme• Occurs when circumstances within the system force a higher

priority task to wait for a lower priority task

• Unbounded Priority Inversion :• Duration of a priority inversion depends on time related with

handling shared resource as well as unpredictable actions of other unrelated tasks

Page 37: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Unbounded Priority Inversion:

• Avoiding Unbounded Priority Inversion:

• Priority Inheritance• Lower-priority task inherits the priority of any higher priority task

pending on a resource they share• Priority Ceiling• Priority assigned to resources.• Priority of resource is one level higher than highest priority user.

Page 38: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Linux Scheduling• Scheduling classes• SCHED_FIFO: First-in-first-out real-time threads• SCHED_RR: Round-robin real-time threads• SCHED_OTHER: Other, non-real-time threads

• Within each class multiple priorities may be used• Total 140 priority levels• Real time priorities:- 0-99• Non-real time priorities:- 100-139

Page 39: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Linux Real-Time Scheduling:

Page 40: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Non-Real-Time Scheduling:• Linux 2.6 uses a new scheduler the O(1) scheduler• Time to select the appropriate process and assign it to a

processor is constant• Regardless of the load on the system or number of processors

Page 41: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Linux Scheduling Data Struct:

Page 42: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

UNIX SVR4 Scheduling• The new algorithm is designed over previous UNIX algorithms

to give:• highest preference to real-time processes, • next-highest preference to kernel-mode processes, • and lowest preference to other user-mode processes, referred to

as time-shared processes.• New features include:• Pre-emptable static priority scheduler• Introduction of a set of 160 priority levels divided into three

priority classes• Insertion of preemption points

Page 43: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

SVR Priority Classes

Page 44: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

SVR Priority Classes• Real time (159 – 100)• Guaranteed to be selected to run before any kernel or time-

sharing process• Can preempt kernel and user processes

• Kernel (99 – 60)• Guaranteed to be selected to run before any time-sharing process

• Time-shared (59-0)• Lowest-priority

Page 45: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

SVR4 Dispatch Queues

Page 46: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Windows Scheduling• Priorities organized into two bands or classes• Real time• Variable

• Priority-driven preemptive scheduler

16 Priority levels each

Page 47: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Windows Thread Dispatching Priorities

Fixed Priority RR

Variable Priority FIFO

Page 48: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Windows Priority Relationship

Page 49: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Handheld OS :• Handheld System Requirements• Technology Overview• Palm OS• Microsoft Windows CE• Microsoft Windows Mobile• Google Android• Securing Handheld system• Frame of Reference

Page 50: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Handheld System Requirements:

• Small physical size• Powered by battery• Small display area• Few ports for attachments• Capable of configuring browser and email• Drivers for microphones, speakers etc.• Security• Application support

Page 51: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Technology Overview :• TDMA• Role of SIM• Global System for mobile communication GSM

Page 52: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Introduction to cellular comm tech.

Fig. Cellular grid with base station

Page 53: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Cellular Grid :

• A single BST provide wireless service in small geo. region called cell.• Region divided into cells .• If density of subscribers grows beyond a threshold then cell spilt

into microcell.• Mobile users move from one cell into other & because of handover

protocol get seamless service.• Adjacent cells must use different frequencies.• Non adjacent may use same frequencies.

Page 54: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Dominant cellular technologies• GSM (Global system for mobile communication) • CDMA(code division multiple access)

Page 55: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

GSM• Mobile terminal in cell “i” wish to connect with another

mobile terminal in cell “k”

• MT-i sender--->senders base station R---->MSC-u…….MSC-v------->receivers base station S--------------->MT-k receiver

• MT: Mobile Terminal (Mobile Station)• MSC: Message Switching Center

Page 56: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

GSM architecture

Page 57: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

• Public land mobile n/w(PLMN): - Mobile operators n/w coverage is considered to be PLMN

• New subscription initiation: -equipment carries unique international mobile station

identity(IMSI) number. - 3 parts of IMSI country(3 digit) mobile n/w code(2 digit) subscriber code(10 digit) -equipment carries subscriber identity module(SIM) - Equipment reached by dialing MS-ISDN number -registration recorded in HLR of MSC.

Page 58: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

• Home location register(HLR): -stores semi-permanent information about subscribers as IMSI no,activity

status,,current location,profile of subscribed services. - roaming subsc. Is visitor in other MSC area. -helps in authenticating visitor

• Visitor location register(VLR): -service profile obtained from HLR & stored temporary in VLR - maintain database of all registered visitors

• Authentication center(AUC): -auth parameters are generated from initial local info

• Equipment identity register: -to check genuineness of eqipment -used to trap misuse. -maintain white ,gray,black list

• Gateway mobile switching centre(GMSC): - to connect to other network

Page 59: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

• GSM interworking unit(GIWU):

• Message center(MXE): -provide messaging service in store & forward mode

• Message service node(MSN): -handles intelligent network services

• Operations & maintenance service center(OMSC): -continuous monitoring for quality & maintaining records of

services provided to the subscribers

Page 60: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Specification & features used in GSM

• Frequency band for mobile users 1850-1990MHZ• Band divided into channel & channel separation 200 kHz• Adjacent cells use different channels & nonadjacent may use

same channel.• For modulation of carrier use GMSK.• Uplink & downlink freq are 80 MHZ apart.• Uses linear predictive coding for speech encoding• Transmission rate over air is 270 kbps• BST uses slotted time frames

Page 61: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

GSM services• Tele –services - voice & short messaging services & tele fax -non voice can be pt to pt or pt to multipoint• Bearer services -data services -data transfer rate from 300 to 9600bps• Supplementary services -operator specified as well user specified -e.g call forwarding, call barring,ring tone download

Page 62: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Palm OS :• Launched by Palm Inc. in 1996• Implemented on smart phones, wristwatches. Handheld

gaming console, barcode reader etc.• Memory Management in Palm OS:• RAM: third party apps, user data, run time storage• ROM: OS kernel, frequently used databases, some built in apps

• A chunk - contiguous memory between 1byte ~ 64 KB that has been allocated by the Palm OS memory manager

• Each chunk resides in a heap

Page 63: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Data structures :

Heap Header

Movable chunks

Non-movable chunks

Master pointer table

End Of Heap

Storage for global variables

Storage Heap

Other Heap

Dynamic Heap

Heap Organisation RAM Heap Organisation

Page 64: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Memory Manager :• List of free chunks is maintained • Frequent allocation and release leads to fragmentation• Compaction is used to over come fragmentation

• Power Management:• Battery Operated• Battery change without suspension of system operation• Large capacitor is provided for that purpose (super capacitor)

Page 65: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Microsoft Windows CE :• For smart handheld devices• Support for real time operations.• Security with device locks, authentication using passwords• Support for Wi-Fi , Bluetooth• Support for multitasking for more than 32 processes

Page 66: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Architecture :Application

hardware

WIN32 APIHEAP

Scheduling,Exception Handling, Synch

Local Process Services

Kernel LibOther Control

Interfaces

.exe .dll interface

Process Interface

Hardware Interface

Page 67: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Windows CE 5.0 Memory Model:

Page 68: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Windows Phone OS 7:

USER MODE

KERNEL SUPPORT

HARDWARE

Page 69: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Memory Map for WP OS 7:

2 GB Kernel Space

2 GB Process Space

FILE SYSTEM DRIVERS GWES

KERNEL

1 GB for process code

1 GB for heap, memory mapped files, DLL

Page 70: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Android Architecture:

Page 71: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Securing Handheld systems:• Bio- metric identification• Finger Print• Retina scan

• Three Layered Security Model

Kernel

Intermediate Layer

Application Layer

Page 72: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Communication between Apps:

Shared Data Area

App 1

App 2

App n

Kernel

Fig. Communication through own environment

Page 73: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Communication between Apps:

App 1

App 2

App n

Handheld System / Mobile Phone

Fig. Communication through own environment

Enterprise Cloud for

secure storage

Page 74: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Built In Security Mechanism :• Personal information Manager (PIM)• GPS tracker• Feature to erase data on sending predefined message• Pair wise authentication in Bluetooth• Firewall policy• Lock Mechanism• Use of IMEI number

Page 75: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Security with external device:• Memory Stick• Saving personal information• Password protection• Encryption

• SD card• SDIO:- SD card and Host IO operations• Idle state• Ready State• Inactive State• Executing State:

> Stand By > Disconnect> Send > Error> Receive

Page 76: Unit- VI Advance Tools and Technologies(and problem solving in the OS) :

Frame of reference for handheld systems1. Functionality: Extent of interoperability ,accuracy in features related to

rendering of media2. Usability of device: choice based on usage patterns. Blackberry – heavy duty e-mail usage i-phone- media rich for music & videos palm os –personal information mngt ease with which one can learn & discover features

3. Security of services: symbian stand out on public key infrastructure component based security services are extensible

4. Reliability of operation: recovery & reboots Win-CE has stable & reliable office suite

5. Extensibility to incorporate newer services: how easy to change or upgrade services. android & symbian have rich platform than RIM’s Blackberry

6. Maintainability from servicing point of view: diagnostic procedures for fault detection & location

7. Power levels of operation and energy efficiency: energy drain & usage is regulated by urgency of task.