unit- vi advance tools and technologies(and problem solving in the os) :
TRANSCRIPT
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
Uniprocessor Scheduling :• FCFS• RR• SJF/SPN• SRT• Priority Scheduling
• Preemptive Scheduling• Non preemptive Scheduling
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
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
Synchronization Granularity and Processes
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
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.
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
Assignment ofProcesses to Processors• Both dynamic and static methods require some way of
assigning a process to a processor• Two methods:• Master/Slave• Peer
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
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
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
Approaches toThread Scheduling• Many proposals exist but four general approaches stand out:• Load Sharing• Gang Scheduling• Dedicated processor assignment• Dynamic scheduling
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
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.
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
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.
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.
Real-Time Systems• Control of laboratory experiments• Process control in industrial plants• Robotics• Air traffic control• Telecommunications• Military command and control systems
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
Characteristics of Real Time Systems• Real time systems have requirements in five general areas:• Determinism• Responsiveness• User control• Reliability• Fail-soft operation
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
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
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
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.
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
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.
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
Two Tasks
Periodic Scheduling
Execution Profile
Aperiodic Scheduling
Rate Monotonic Scheduling:
• Assigns priorities to tasks on the basis of their time periods• Highest-priority task is the one with the shortest period
Periodic Task Timing Diagram
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
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.
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
Linux Real-Time Scheduling:
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
Linux Scheduling Data Struct:
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
SVR Priority Classes
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
SVR4 Dispatch Queues
Windows Scheduling• Priorities organized into two bands or classes• Real time• Variable
• Priority-driven preemptive scheduler
16 Priority levels each
Windows Thread Dispatching Priorities
Fixed Priority RR
Variable Priority FIFO
Windows Priority Relationship
Handheld OS :• Handheld System Requirements• Technology Overview• Palm OS• Microsoft Windows CE• Microsoft Windows Mobile• Google Android• Securing Handheld system• Frame of Reference
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
Technology Overview :• TDMA• Role of SIM• Global System for mobile communication GSM
Introduction to cellular comm tech.
Fig. Cellular grid with base station
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.
Dominant cellular technologies• GSM (Global system for mobile communication) • CDMA(code division multiple access)
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
GSM architecture
• 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.
• 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
• 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
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
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
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
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
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)
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
Architecture :Application
hardware
WIN32 APIHEAP
Scheduling,Exception Handling, Synch
Local Process Services
Kernel LibOther Control
Interfaces
.exe .dll interface
Process Interface
Hardware Interface
Windows CE 5.0 Memory Model:
Windows Phone OS 7:
USER MODE
KERNEL SUPPORT
HARDWARE
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
Android Architecture:
Securing Handheld systems:• Bio- metric identification• Finger Print• Retina scan
• Three Layered Security Model
Kernel
Intermediate Layer
Application Layer
Communication between Apps:
Shared Data Area
App 1
App 2
App n
Kernel
Fig. Communication through own environment
Communication between Apps:
App 1
App 2
App n
Handheld System / Mobile Phone
Fig. Communication through own environment
Enterprise Cloud for
secure storage
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
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
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.