This document discusses operating system structures and components. It describes four main OS designs: monolithic systems, layered systems, virtual machines, and client-server models. For each design, it provides details on how the system is organized and which components are responsible for which tasks. It also discusses some advantages and disadvantages of the different approaches. The document concludes by explaining how client-server models address issues with distributing OS functions to user space by having some critical servers run in the kernel while still communicating with user processes.
PowerPoint Presentation on the popular topic Multi Core Processors,History of multi core processors, comparison between single core and multi core processors, advantages and disadvantages of multi core processors.
Single instruction, multiple data (SIMD), is a class of parallel computers in Flynn's taxonomy. It describes computers with multiple processing elements that perform the same operation on multiple data points simultaneously.
PowerPoint Presentation on the popular topic Multi Core Processors,History of multi core processors, comparison between single core and multi core processors, advantages and disadvantages of multi core processors.
Single instruction, multiple data (SIMD), is a class of parallel computers in Flynn's taxonomy. It describes computers with multiple processing elements that perform the same operation on multiple data points simultaneously.
This presentation talks about Real Time Operating Systems (RTOS). Starting with fundamental concepts of OS, this presentation deep dives into Embedded, Real Time and related aspects of an OS. Appropriate examples are referred with Linux as a case-study. Ideal for a beginner to build understanding about RTOS.
Quontra Solutions offers Job oriented Linux online training with updated technologies. For more info about our Linux online training contact us directly. We are providing Linux online training to all students throughout worldwide by real time faculties. Our Linux training strengthens your skills and knowledge which will helps you to gain a competitive advantage in starting your career. Outclasses will help you to gain knowledge on real time scenario. It will be most use full to boost up your career.
Our training sessions are designed in such a way that all the students can be convenient with the training schedules and course timings.
Along with Training, we also conduct several mock interviews along with Job Placement Assistance. Attend Free Demo before joining the class.
Our Features:
• Real world projects to get practical based experience
• Online tests to explore the resource learning
• Experienced certified trainers as instructors
• One to one personalized training with desktop access
• Case studies and state of art library to access study material
• Resume build assistance to win in interviews
Contact us:
Simson Andrew
Email: info@quontrasolutions.com
web: www.quontrasolutions.com
Chorus - Distributed Operating System [ case study ]Akhil Nadh PC
ChorusOS is a microkernel real-time operating system designed as a message-based computational model. ChorusOS started as the Chorus distributed real-time operating system research project at Institut National de Recherche en Informatique et Automatique (INRIA) in France in 1979. During the 1980s, Chorus was one of two earliest microkernels (the other being Mach) and was developed commercially by Chorus Systèmes. Over time, development effort shifted away from distribution aspects to real-time for embedded systems.
This presentation elaborates what are multiprocessor operating systems, Multiprocessor Hardware, Multiprocessing models and frameworks, Multiprocessor Synchronization, Multiprocessor Scheduling, Applications of multiprocessing systems, Advantages, Disadvantages and Solutions and New trends of Multiprocessing.
This presentation talks about Real Time Operating Systems (RTOS). Starting with fundamental concepts of OS, this presentation deep dives into Embedded, Real Time and related aspects of an OS. Appropriate examples are referred with Linux as a case-study. Ideal for a beginner to build understanding about RTOS.
Quontra Solutions offers Job oriented Linux online training with updated technologies. For more info about our Linux online training contact us directly. We are providing Linux online training to all students throughout worldwide by real time faculties. Our Linux training strengthens your skills and knowledge which will helps you to gain a competitive advantage in starting your career. Outclasses will help you to gain knowledge on real time scenario. It will be most use full to boost up your career.
Our training sessions are designed in such a way that all the students can be convenient with the training schedules and course timings.
Along with Training, we also conduct several mock interviews along with Job Placement Assistance. Attend Free Demo before joining the class.
Our Features:
• Real world projects to get practical based experience
• Online tests to explore the resource learning
• Experienced certified trainers as instructors
• One to one personalized training with desktop access
• Case studies and state of art library to access study material
• Resume build assistance to win in interviews
Contact us:
Simson Andrew
Email: info@quontrasolutions.com
web: www.quontrasolutions.com
Chorus - Distributed Operating System [ case study ]Akhil Nadh PC
ChorusOS is a microkernel real-time operating system designed as a message-based computational model. ChorusOS started as the Chorus distributed real-time operating system research project at Institut National de Recherche en Informatique et Automatique (INRIA) in France in 1979. During the 1980s, Chorus was one of two earliest microkernels (the other being Mach) and was developed commercially by Chorus Systèmes. Over time, development effort shifted away from distribution aspects to real-time for embedded systems.
This presentation elaborates what are multiprocessor operating systems, Multiprocessor Hardware, Multiprocessing models and frameworks, Multiprocessor Synchronization, Multiprocessor Scheduling, Applications of multiprocessing systems, Advantages, Disadvantages and Solutions and New trends of Multiprocessing.
Cloud deployment models: public, private, hybrid, community – Categories of cloud computing: Everything as a service: Infrastructure, platform, software - Pros and Cons of cloud computing – Implementation levels of virtualization – virtualization structure – virtualization of CPU, Memory and I/O devices – virtual clusters and Resource Management – Virtualization for data center automation.
Kerala Engineering Architecture Medical is an entrance examination series for admissions to various professional degree courses in the state of Kerala, India. It is conducted by the Office of the Commissioner of Entrance Exams run by the Government of Kerala
Paleontology is the study of the history of life on Earth as based on fossils. Fossils are the remains of plants, animals, fungi, bacteria, and single-celled living things that have been replaced by rock material or impressions of organisms preserved in roc
The ways in which an element—or compound such as water—moves between its various living and nonliving forms and locations in the biosphere is called a biogeochemical cycle. Biogeochemical cycles important to living organisms include the water, carbon, nitrogen, phosphorus, and sulfur cycles.
The AC and DC bridge both are used for measuring the unknown parameter of the circuit. The AC bridge measures the unknown impedance of the circuit. The DC bridge measures the unknown resistance of the circuit.
The Wien bridge is a type of bridge circuit that was developed by Max Wien in 1891. The bridge consists of four resistors and two capacitors. At the time of the Wien bridge's invention, bridge circuits were a common way of measuring component values by comparing them to known values.
For most of us, our name existed even before we did.
In anticipation of our arrival, our parents went through an ultra stressful process of narrowing down dozens of potential names until they chose the perfect one.
Luckily they did, because whatever your name is, it has followed you throughout your entire life; and in some cases, people may have heard of your name before they’ve ever met you.
When it comes to how to name an app, it’s of similar importance as naming a child. The name of your app will follow your brand forever, and in many cases, potential users will hear the name before they ever actually use your app.
flora and fauna of himachal pradesh and keralaAJAL A J
flora and fauna of himachal pradesh and kerala
A green pearl in the Himalayan crown, Himachal Pradesh is blessed with a rich flora and fauna that graces the land with grandeur and majesty. Other animals that can be sighted in the wild include the ibex, wild yak, ghoral deer, musk deer, Himalayan black bear, brown bear, leopards and the Himalayan Thar. Also kerala is gods on country
Bachelor of Science in Cardio-vascular technology is an undergraduate course in cardiology. These technologists assist the physicians in the diagnosis and the treatment of cardiac (heart) and peripheral vascular conditions (blood vessels). The cardiovascular technologists are also responsible for preparing the patients for open-heart surgeries and pacemaker implantation surgeries. The technologists also monitor the patient’s cardiac parameters while they undergo the surgery. B. Sc. in Cardiovascular technology is a three years’ full-time undergraduate course and is an interesting and important course in medicine.
`Remove Unprofitable Products and Services. The products or services with the highest gross profit margin are the most important to your business. ...
Find New Customers. New customers can help grow your business. ...
Increase your Conversion Rate. ...
Review Current Pricing Structure. ...
Reduce your inventory. ...
Reduce your overheads.
Polycystic ovary syndrome (PCOS) is a hormonal disorder common among women of reproductive age. Women with PCOS may have infrequent or prolonged menstrual periods or excess male hormone (androgen) levels. The ovaries may develop numerous small collections of fluid (follicles) and fail to regularly release eggs
Are you an NRI and aiming to come back to India to pursue graduation from the top-tier colleges of India?
Then, you’re halfway there. Being an NRI, your top preference would be IITs and NITs of India. If that's the case, you must know the fee structure of both the IITs, NITs (under DASA scheme), Centrally Funded Institutions and State-Level Govt. Engineering Colleges.
Note: According to the latest update from DASA, from session 2021-22 onwards, JEE Rank is made mandatory for NRI/PIO/OCI Students to be eligible for DASA & CIWG Schemes. Hence, 2020-21 will be the last year when SAT 2 scores will be considered for DASA/CIWG Scheme.
Subjects to study if you want to work for a charityAJAL A J
The charity sector can be competitive and experience, volunteer or otherwise, can count for a lot. But there are ways to make that third sector CV stand out from the competition. Why not take some courses? A course can be a great way to make your application shine and an opportunity to learn new skills and ideas.
Joint Entrance Examination - Main or commonly known as JEE Main is a national level entrance exam conducted by the NTA to offer admission to BE/BTech, BPlan and BArch courses at the IIITs (Indian Institute of Information Technology), NITs (National Institute of Technology) and other Centrally Funded Technical Institutions (CFTIs) across the country.
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)MdTanvirMahtab2
This presentation is about the working procedure of Shahjalal Fertilizer Company Limited (SFCL). A Govt. owned Company of Bangladesh Chemical Industries Corporation under Ministry of Industries.
Welcome to WIPAC Monthly the magazine brought to you by the LinkedIn Group Water Industry Process Automation & Control.
In this month's edition, along with this month's industry news to celebrate the 13 years since the group was created we have articles including
A case study of the used of Advanced Process Control at the Wastewater Treatment works at Lleida in Spain
A look back on an article on smart wastewater networks in order to see how the industry has measured up in the interim around the adoption of Digital Transformation in the Water Industry.
Forklift Classes Overview by Intella PartsIntella Parts
Discover the different forklift classes and their specific applications. Learn how to choose the right forklift for your needs to ensure safety, efficiency, and compliance in your operations.
For more technical information, visit our website https://intellaparts.com
Courier management system project report.pdfKamal Acharya
It is now-a-days very important for the people to send or receive articles like imported furniture, electronic items, gifts, business goods and the like. People depend vastly on different transport systems which mostly use the manual way of receiving and delivering the articles. There is no way to track the articles till they are received and there is no way to let the customer know what happened in transit, once he booked some articles. In such a situation, we need a system which completely computerizes the cargo activities including time to time tracking of the articles sent. This need is fulfilled by Courier Management System software which is online software for the cargo management people that enables them to receive the goods from a source and send them to a required destination and track their status from time to time.
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxR&R Consult
CFD analysis is incredibly effective at solving mysteries and improving the performance of complex systems!
Here's a great example: At a large natural gas-fired power plant, where they use waste heat to generate steam and energy, they were puzzled that their boiler wasn't producing as much steam as expected.
R&R and Tetra Engineering Group Inc. were asked to solve the issue with reduced steam production.
An inspection had shown that a significant amount of hot flue gas was bypassing the boiler tubes, where the heat was supposed to be transferred.
R&R Consult conducted a CFD analysis, which revealed that 6.3% of the flue gas was bypassing the boiler tubes without transferring heat. The analysis also showed that the flue gas was instead being directed along the sides of the boiler and between the modules that were supposed to capture the heat. This was the cause of the reduced performance.
Based on our results, Tetra Engineering installed covering plates to reduce the bypass flow. This improved the boiler's performance and increased electricity production.
It is always satisfying when we can help solve complex challenges like this. Do your systems also need a check-up or optimization? Give us a call!
Work done in cooperation with James Malloy and David Moelling from Tetra Engineering.
More examples of our work https://www.r-r-consult.dk/en/cases-en/
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...Amil Baba Dawood bangali
Contact with Dawood Bhai Just call on +92322-6382012 and we'll help you. We'll solve all your problems within 12 to 24 hours and with 101% guarantee and with astrology systematic. If you want to take any personal or professional advice then also you can call us on +92322-6382012 , ONLINE LOVE PROBLEM & Other all types of Daily Life Problem's.Then CALL or WHATSAPP us on +92322-6382012 and Get all these problems solutions here by Amil Baba DAWOOD BANGALI
#vashikaranspecialist #astrologer #palmistry #amliyaat #taweez #manpasandshadi #horoscope #spiritual #lovelife #lovespell #marriagespell#aamilbabainpakistan #amilbabainkarachi #powerfullblackmagicspell #kalajadumantarspecialist #realamilbaba #AmilbabainPakistan #astrologerincanada #astrologerindubai #lovespellsmaster #kalajaduspecialist #lovespellsthatwork #aamilbabainlahore#blackmagicformarriage #aamilbaba #kalajadu #kalailam #taweez #wazifaexpert #jadumantar #vashikaranspecialist #astrologer #palmistry #amliyaat #taweez #manpasandshadi #horoscope #spiritual #lovelife #lovespell #marriagespell#aamilbabainpakistan #amilbabainkarachi #powerfullblackmagicspell #kalajadumantarspecialist #realamilbaba #AmilbabainPakistan #astrologerincanada #astrologerindubai #lovespellsmaster #kalajaduspecialist #lovespellsthatwork #aamilbabainlahore #blackmagicforlove #blackmagicformarriage #aamilbaba #kalajadu #kalailam #taweez #wazifaexpert #jadumantar #vashikaranspecialist #astrologer #palmistry #amliyaat #taweez #manpasandshadi #horoscope #spiritual #lovelife #lovespell #marriagespell#aamilbabainpakistan #amilbabainkarachi #powerfullblackmagicspell #kalajadumantarspecialist #realamilbaba #AmilbabainPakistan #astrologerincanada #astrologerindubai #lovespellsmaster #kalajaduspecialist #lovespellsthatwork #aamilbabainlahore #Amilbabainuk #amilbabainspain #amilbabaindubai #Amilbabainnorway #amilbabainkrachi #amilbabainlahore #amilbabaingujranwalan #amilbabainislamabad
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Dr.Costas Sachpazis
Terzaghi's soil bearing capacity theory, developed by Karl Terzaghi, is a fundamental principle in geotechnical engineering used to determine the bearing capacity of shallow foundations. This theory provides a method to calculate the ultimate bearing capacity of soil, which is the maximum load per unit area that the soil can support without undergoing shear failure. The Calculation HTML Code included.
Water scarcity is the lack of fresh water resources to meet the standard water demand. There are two type of water scarcity. One is physical. The other is economic water scarcity.
Explore the innovative world of trenchless pipe repair with our comprehensive guide, "The Benefits and Techniques of Trenchless Pipe Repair." This document delves into the modern methods of repairing underground pipes without the need for extensive excavation, highlighting the numerous advantages and the latest techniques used in the industry.
Learn about the cost savings, reduced environmental impact, and minimal disruption associated with trenchless technology. Discover detailed explanations of popular techniques such as pipe bursting, cured-in-place pipe (CIPP) lining, and directional drilling. Understand how these methods can be applied to various types of infrastructure, from residential plumbing to large-scale municipal systems.
Ideal for homeowners, contractors, engineers, and anyone interested in modern plumbing solutions, this guide provides valuable insights into why trenchless pipe repair is becoming the preferred choice for pipe rehabilitation. Stay informed about the latest advancements and best practices in the field.
Vaccine management system project report documentation..pdfKamal Acharya
The Division of Vaccine and Immunization is facing increasing difficulty monitoring vaccines and other commodities distribution once they have been distributed from the national stores. With the introduction of new vaccines, more challenges have been anticipated with this additions posing serious threat to the already over strained vaccine supply chain system in Kenya.
Automobile Management System Project Report.pdfKamal Acharya
The proposed project is developed to manage the automobile in the automobile dealer company. The main module in this project is login, automobile management, customer management, sales, complaints and reports. The first module is the login. The automobile showroom owner should login to the project for usage. The username and password are verified and if it is correct, next form opens. If the username and password are not correct, it shows the error message.
When a customer search for a automobile, if the automobile is available, they will be taken to a page that shows the details of the automobile including automobile name, automobile ID, quantity, price etc. “Automobile Management System” is useful for maintaining automobiles, customers effectively and hence helps for establishing good relation between customer and automobile organization. It contains various customized modules for effectively maintaining automobiles and stock information accurately and safely.
When the automobile is sold to the customer, stock will be reduced automatically. When a new purchase is made, stock will be increased automatically. While selecting automobiles for sale, the proposed software will automatically check for total number of available stock of that particular item, if the total stock of that particular item is less than 5, software will notify the user to purchase the particular item.
Also when the user tries to sale items which are not in stock, the system will prompt the user that the stock is not enough. Customers of this system can search for a automobile; can purchase a automobile easily by selecting fast. On the other hand the stock of automobiles can be maintained perfectly by the automobile shop manager overcoming the drawbacks of existing system.
Saudi Arabia stands as a titan in the global energy landscape, renowned for its abundant oil and gas resources. It's the largest exporter of petroleum and holds some of the world's most significant reserves. Let's delve into the top 10 oil and gas projects shaping Saudi Arabia's energy future in 2024.
Immunizing Image Classifiers Against Localized Adversary Attacksgerogepatton
This paper addresses the vulnerability of deep learning models, particularly convolutional neural networks
(CNN)s, to adversarial attacks and presents a proactive training technique designed to counter them. We
introduce a novel volumization algorithm, which transforms 2D images into 3D volumetric representations.
When combined with 3D convolution and deep curriculum learning optimization (CLO), itsignificantly improves
the immunity of models against localized universal attacks by up to 40%. We evaluate our proposed approach
using contemporary CNN architectures and the modified Canadian Institute for Advanced Research (CIFAR-10
and CIFAR-100) and ImageNet Large Scale Visual Recognition Challenge (ILSVRC12) datasets, showcasing
accuracy improvements over previous techniques. The results indicate that the combination of the volumetric
input and curriculum learning holds significant promise for mitigating adversarial attacks without necessitating
adversary training.
2. 1. Resource Management: Disk, CPU cycles,
etc. must be managed efficiently to
maximize overall system performance
2. Resource Abstraction: Software interface
to simplify use of hardware resources
3. Virtualization: Supports resource sharing –
gives each process the appearance of an
unshared resource
3. The forth generation: Personal Computers (1980-
present)
Workstations and network operating systems and
distributed systems
MSDOS, UNIX (supports IEEE POSIX standard
system calls interface),WINDOWS
MINIX is Unix like operating system written in C for
educational purposes (1987)
Linux is the extended version of MINIX
6. OS structure
If we look inside OS, there are four designs:
1- Monolithic systems:
• Collection of the procedures each of
which calling other ones (The Big Mess)
• No information hiding. Ever procedure is
visible to other procedures.
• System calls switch to kernel mode (see
below)
8. • In monolithic model for system calls there
are service procedures using utility
procedures
9. OS Structure
2- Layered systems
• It is generalization of monolithic approach
• In the user level , they should not worry
about process, memory, console or I/O
managements. These jobs are done by
lower layers.
• The first layered system was developed in
the Netherlands by Digestra(1968)
12. OS Structure
3- Virtual machines
• Several virtual machines are simulated in this model
(providing virtual 8086 on Pentium to be able to run
MSDOS programs)
• VM provides several virtual OSs such as single user,
interactive and etc. all run on Bare hardware.
13. OS Structure
4- Client-Server Model
• Moving most of the code up into the higher layers
made the kernel to be minimal and only responsible
for communication between clients and servers.
14. OS Structure
• Advantage of this system is adaptability to use in
distributed systems.
• Disadvantage is doing OS functions ( e.g.
loading physical I/O device registers) in the user
space is difficult.
15. OS Structure
There are two ways to solve this problem
• To have some critical server processes
run in the kernel with complete access to
hardware but still communicating with
other normal processes.
• Enhance the kernel to provides these
tasks but server decides how to use it
(Splitting policy and mechanism)
16. 16
Abstract View of System
System and Application ProgramsSystem and Application Programs
Operating SystemOperating System
Computer
Hardware
Computer
Hardware
User
1
User
1 User
2
User
2
User
3
User
3
User
n
User
n
compiler assembler Text editor Database
system
...
18. What is Real Time?
“A real time system is one in which the correctness
of the computations not only depends upon the
logical correctness of the computation but also
upon the time at which the result is produced. If
the timing constraints of the system are not met,
system failure is said to have occurred.”
- Donald Gillies
known for his work in game theory, computer design,
and minicomputer programming environments.
20. 20
Operating System Views
Resource allocator
to allocate resources (software and hardware) of the
computer system and manage them efficiently.
Control program
Controls execution of user programs and operation of I/O
devices.
Kernel
The program that executes forever (everything else is an
application with respect to the kernel).
21. Kernel
In computing, the kernel is a computer program that
manages I/O (input/output) requests from software,
and translates them into data processing instructions
for the central processing unit and other electronic
components of a computer. The kernel is a
fundamental part of a modern computer's operating
system
21
23. 23
Multiprogramming
Use interrupts to run multiple programs
simultaneously
When a program performs I/O, instead of polling, execute
another program till interrupt is received.
Requires secure memory, I/O for each program.
Requires intervention if program loops
indefinitely.
Requires CPU scheduling to choose the next job
to run.
25. Real Time System
• A system is said to be Real Time if it is
required to complete it’s work & deliver it’s
services on time.
• Example – Flight Control System
– All tasks in that system must execute on time.
26. Hard and Soft Real Time Systems
• Hard Real Time System
– Failure to meet deadlines is fatal
– example : Flight Control System
• Soft Real Time System
– Late completion of jobs is undesirable but not fatal.
– System performance degrades as more & more jobs miss
deadlines
– Online Databases
27. Hard and Soft Real Time Systems
(Operational Definition)
• Hard Real Time System
– Validation by provably correct procedures or extensive
simulation that the system always meets the timings
constraints
• Soft Real Time System
– Demonstration of jobs meeting some statistical constraints
suffices.
• Example – Multimedia System
– 25 frames per second on an average
28. Role of an OS in Real Time Systems
• Standalone Applications
– Often no OS involved
– Micro controller based Embedded Systems
• Some Real Time Applications are huge & complex
– Multiple threads
– Complicated Synchronization Requirements
– Filesystem / Network / Windowing support
– OS primitives reduce the software design time
29. Review Topics
• Processes &Threads
• Scheduling
• Synchronization
• Resource Allocation.
• Interrupt Handling.
• Memory Management
• File and I/O Management
Features of RTOS’s
31. Review of Processes
• Processes
– process image
– states and state transitions
– process switch (context switch)
• Threads
• Concurrency
32. Process Definition
• A process is an instance of a program in
execution.
• It encompasses the static concept of program
and the dynamic aspect of execution.
• As the process runs, its context (state)
changes – register contents, memory
contents, etc., are modified by execution
33. Processes
• A process can create child processes and
communicate with them (interprocess
communication)
34. Processes: Process Image
• The process image represents the current status of
the process
• It consists of (among other things)
– Executable code
– Static data area
– Stack & heap area
– Process Control Block (PCB): data structure used to
represent execution context, or state
– Other information needed to manage process
37. Pipe
• Pipe is the way to make the communication
between two processes looks like file read
and write.
38. Thread
• A thread or lightweight process is a basic unit
of CPU utilization that has
1.A program counter
2.A register set
3.A stack space
• With the right support , a process could have
several threads concurrently executing in it ,
all of them sharing the same address space.
40. Process Execution States
• For convenience, we describe a process as
being in one of several basic states.
• Most basic:
– Running
– Ready
– Blocked (or sleeping)
41. Process State Transition Diagram
ready running
blocked
preempt
dispatch
wait for eventevent occurs
42. Other States
• New
• Exit
• Suspended (Swapped)
– Suspended blocked
– Suspended ready
43. Concurrent Processes
• Two processes are concurrent if their
executions overlap in time.
• In a uniprocessor environment,
multiprogramming provides concurrency.
• In a multiprocessor, true parallel execution
can occur.
44. Forms of Concurrency
Multi programming: Creates logical parallelism by running several
processes/threads at a time. The OS keeps several jobs in
memory simultaneously. It selects a job from the ready state
and starts executing it. When that job needs to wait for some
event the CPU is switched to another job. Primary objective:
eliminate CPU idle time
Time sharing: An extension of multiprogramming. After a certain
amount of time the CPU is switched to another job regardless of
whether the process/thread needs to wait for some operation.
Switching between jobs occurs so frequently that the users can
interact with each program while it is running.
Multiprocessing: Multiple processors on a single computer run
multiple processes at the same time. Creates physical
parallelism.
47. Clustered Systems
• Like multiprocessor systems, but multiple
systems working together
– Usually sharing storage via a storage-area network
(SAN)
– Provides a high-availability service which survives
failures
• Asymmetric clustering has one machine in hot-standby
mode
• Symmetric clustering has multiple nodes running
applications, monitoring each other
– Some clusters are for high-performance computing (HPC)
• Applications must be written to use parallelization
48.
49. Protection
• When multiple processes (or threads) exist at the
same time, and execute concurrently, the OS must
protect them from mutual interference.
• Memory protection (memory isolation) prevents one
process from accessing the physical address space of
another process.
• Base/limit registers, virtual memory are techniques
to achieve memory protection.
50. Processes and Threads
• Traditional processes could only do one thing
at a time – they were single-threaded.
• Multithreaded processes can (conceptually)
do several things at once – they have multiple
threads.
• A thread is an “execution context” or
“separately schedulable” entity.
51. Threads
• Several threads can share the address space
of a single process, along with resources such
as files.
• Each thread has its own stack, PC, and TCB
(thread control block)
– Each thread executes a separate section of the
code and has private data
– All threads can access global data of process
52. Threads versus Processes
• If two processes want to access shared data
structures, the OS must be involved.
– Overhead: system calls, mode switches, context
switches, extra execution time.
• Two threads in a single process can share
global data automatically – as easily as two
functions in a single process.
55. Process (Thread) Scheduling
• Process scheduling decides which process to
dispatch (to the Run state) next.
• In a multiprogrammed system several
processes compete for a single processor
• Preemptive scheduling: a process can be
removed from the Run state before it
completes or blocks (timer expires or higher
priority process enters Ready state).
56. Scheduling in RTOS
• More information about the tasks are known
– No of tasks
– Resource Requirements
– Release Time
– Execution time
– Deadlines
• Being a more deterministic system better scheduling
algorithms can be devised.
57. Scheduling Algorithms in RTOS
• Clock Driven Scheduling
• Weighted Round Robin Scheduling
• Priority Scheduling
(Greedy / List / Event Driven)
58. Scheduling Algorithms in RTOS (contd)
• Clock Driven
– All parameters about jobs (release time/
execution time/deadline) known in advance.
– Schedule can be computed offline or at some
regular time instances.
– Minimal runtime overhead.
– Not suitable for many applications.
59. Scheduling Algorithms in RTOS (contd)
• Weighted Round Robin
– Jobs scheduled in FIFO manner
– Time quantum given to jobs is proportional to it’s weight
– Example use : High speed switching network
• QOS guarantee.
– Not suitable for precedence constrained jobs.
• Job A can run only after Job B. No point in giving time quantum to
Job B before Job A.
60. Scheduling Algorithms:
• FCFS (first-come, first-served): non-
preemptive: processes run until they
complete or block themselves for event wait
• RR (round robin): preemptive FCFS, based on
time slice
– Time slice = length of time a process can run
before being preempted
– Return to Ready state when preempted
61.
62.
63. Scheduling Algorithms in RTOS (contd)
• Priority Scheduling
(Greedy/List/Event Driven)
– Processor never left idle when there are ready
tasks
– Processor allocated to processes according to
priorities
– Priorities
• static - at design time
• Dynamic - at runtime
64. Priority Scheduling
• Earliest Deadline First (EDF)
– Process with earliest deadline given highest priority
• Least Slack Time First (LSF)
– slack = relative deadline – execution left
• Rate Monotonic Scheduling (RMS)
– For periodic tasks
– Tasks priority inversely proportional to it’s period
66. 66
Timesharing
• Programs queued for execution in FIFO order.
• Like multiprogramming, but timer device
interrupts after a quantum (timeslice).
• Interrupted program is returned to end of FIFO
• Next program is taken from head of FIFO
67. 67
Timesharing (cont.)
• Interactive (action/response)
– when OS finishes execution of one command, it
seeks the next control statement from user.
• File systems
• online filesystem is required for users to access data
and code.
• Virtual memory
– Job is swapped in and out of memory to disk.
68. sharing the stack
• in general, the stack can be shared every time we can guarantee
that two tasks will not be interleaved
T1
T2
interleaved execution
T2
T3
not interleaved execution
T1
stack sharing under fixed priority scheduling
tasks have the same priority
tasks do NOT block (no shared resources)
69. 69
Parallel Systems
• Multiprocessor systems with more than one
CPU in close communication.
• Improved Throughput, economical, increased
reliability.
• Kinds:
– Vector and pipelined
– Symmetric and asymmetric multiprocessing
– Distributed memory vs. shared memory
• Programming models:
– Tightly coupled vs. loosely coupled ,message-based vs. shared
variable
70. Parallel Computing Systems
70
Climate modeling,
earthquake
simulations, genome
analysis, protein
folding, nuclear fusion
research, …..
ILLIAC 2 (UIllinois)
Connection Machine (MIT)
IBM Blue Gene
Tianhe-1(China)
K-computer(Japan)
71. 71
Distributed Systems
• Distribute computation among many processors.
• Loosely coupled -
– no shared memory, various communication lines
• client/server architectures
• Advantages:
– resource sharing
– computation speed-up
– reliability
– communication - e.g. email
• Applications - digital libraries, digital multimedia
73. 73
Real-time systems
• Correct system function depends on
timeliness
• Feedback/control loops
• Sensors and actuators
• Hard real-time systems –
• Failure if response time too long.
• Secondary storage is limited
• Soft real-time systems -
• Less accurate if response time is too long.
• Useful in applications such as multimedia, virtual
74. Interprocess Communication (IPC)
• Processes (or threads) that cooperate to
solve problems must exchange information.
• Two approaches:
– Shared memory
– Message passing (copying
information from one process address space to
another)
• Shared memory is more efficient (no
copying), but isn’t always possible.
75. Process/Thread Synchronization
• Concurrent processes are asynchronous: the
relative order of events within the two
processes cannot be predicted in advance.
• If processes are related (exchange information
in some way) it may be necessary to
synchronize their activity at some points.
Concurrent processing is a computing
model in which multiple processors execute
instructions simultaneously for better
performance.
77. Process Synchronization – 2 Types
• Correct synchronization may mean that we
want to be sure that event 2 in process A
happens before event 4 in process B.
• Or, it could mean that when one process is
accessing a shared resource, no other process
should be allowed to access the same
resource. This is the critical section problem,
and requires mutual exclusion.
78. Mutual Exclusion
• A critical section is the code that accesses
shared data or resources.
• A solution to the critical section problem
must ensure that only one process at a time
can execute its critical section (CS).
• Two separate shared resources can be
accessed concurrently.
79. Synchronization
• Processes and threads are responsible for
their own synchronization, but
programming languages and operating
systems may have features to help.
• Virtually all operating systems provide
some form of semaphore, which can be
used for mutual exclusion and other forms
of synchronization such as event ordering.
80. Semaphores
• Definition: A semaphore is an integer variable (S)
which can only be accessed in the following ways:
– Initialize (S)
– P(S) // {wait(S)}
– V(S) // {signal(S)}
• The operating system must ensure that all
operations are indivisible, and that no other access
to the semaphore variable is allowed
a variable or abstract data type that is used
for controlling access, by multiple processes,
to a common resource in a parallel
programming or a multi user environment.
81. Other Mechanisms for Mutual
Exclusion
• Spinlocks: a busy-waiting solution
in which a process wishing to enter a critical
section continuously tests some lock variable
to see if the critical section is available.
Implemented with various machine-language
instructions
• Disable interrupts before entering CS, enable
after leaving
82. Deadlock
• A set of processes is deadlocked when each is
in the Blocked state because it is waiting for a
resource that is allocated to one of the others.
• Deadlocks can only be resolved by agents
outside of the deadlock
83. Deadlock versus Starvation
• Starvation occurs when a process is repeatedly
denied access to a resource even though the
resource becomes available.
• Deadlocked processes are permanently blocked but
starving processes may eventually get the resource
being requested.
• In starvation, the resource being waited for is
continually in use, while in deadlock it is not being
used because it is assigned to a blocked process.
84. Causes of Deadlock
• Mutual exclusion (exclusive access)
• Wait while hold (hold and wait)
• No preemption
• Circular wait
preemption is the act of temporarily
interrupting a task being carried out by a
computer system, without requiring its
cooperation,
87. 7.87
Figure 7.19 The dining philosophers problem
Starvation is the opposite of deadlock. It can happen
when the operating system puts too many resource
restrictions on a process.
i
88. Deadlock Management Strategies
• Prevention: design a system in which at least
one of the 4 causes can never happen
• Avoidance: allocate resources carefully, so
there will always be enough to allow all
processes to complete (Banker’s Algorithm)
• Detection: periodically, determine if a
deadlock exists. If there is one, abort one or
more processes, or take some other action.
89. Analysis of Deadlock Management
• Most systems do not use any form of deadlock
management because it is not cost effective
– Too time-consuming
– Too restrictive
• Exceptions: some transaction systems have
roll-back capability or apply ordering
techniques to control acquiring of locks.
91. Memory Management
• Introduction
• Allocation methods
– One process at a time
– Multiple processes, contiguous allocation
– Multiple processes, virtual memory
92. Memory Management - Intro
• Primary memory must be shared between the
OS and user processes.
• OS must protect itself from users, and one
user from another.
• OS must also manage the sharing of physical
memory so that processes are able to execute
with reasonable efficiency.
93. Allocation Methods:
Single Process
• Earliest systems used a simple approach: OS
had a protected set of memory locations, the
remainder of memory belonged to one
process at a time.
• Process “owned” all computer resources from
the time it began until it completed
94. Allocation Methods:
Multiple Processes, Contiguous Allocation
• Several processes resided in memory at one
time (multiprogramming).
• The entire process image for each process was
stored in a contiguous set of locations.
• Drawbacks:
– Limited number of processes at one time
– Fragmentation of memory
95. Allocation Methods:
Multiple Processes, Virtual Memory
• Motivation for virtual memory:
– to better utilize memory (reduce fragmentation)
– to increase the number of processes that could
execute concurrently
• Method:
– allow program to be loaded non-contiguously
– allow program to execute even if it is not entirely
in memory.
96. Virtual Memory - Paging
• The address space of a program is divided into
“pages” – a set of contiguous locations.
• Page size is a power of 2; typically at least 4K.
• Memory is divided into page frames of same
size.
• Any “page” in a program can be loaded into
any “frame” in memory, so no space is
wasted.
97. Paging - continued
• General idea – save space by loading only
those pages that a program needs now.
• Result – more programs can be in memory at
any given time
• Problems:
– How to tell what’s “needed”
– How to keep track of where the pages are
– How to translate virtual addresses to physical
103. Solutions to Paging Problems
• How to tell what’s “needed”
– Demand paging
• How to keep track of where the pages are
– The page table
• How to translate virtual addresses to
physical
– MMU (memory management unit) uses logical
addresses and page table data to form actual
physical addresses. All done in hardware.
104. OS Responsibilities in Paged Virtual
Memory
• Maintain page tables
• Manage page replacement
107. File Systems
• Maintaining a shared file system is a major job
for the operating system.
• Single user systems require protection against
loss, efficient look-up service, etc.
• Multiple user systems also need to provide
access control.
108. File Systems – Disk Management
• The file system is also responsible for
allocating disk space and keeping track of
where files are located.
• Disk storage management has many of the
problems main memory management has,
including fragmentation issues.
109. Resource Allocation in RTOS
• Resource Allocation
– The issues with scheduling applicable here.
– Resources can be allocated in
• Weighted Round Robin
• Priority Based
• Some resources are non preemptible
– Example : semaphores
• Priority Inversion if priority scheduling is used
110. Other RTOS issues
• Interrupt Latency should be very small
– Kernel has to respond to real time events
– Interrupts should be disabled for minimum possible time
• For embedded applications Kernel Size should be
small
– Should fit in ROM
• Sophisticated features can be removed
– No Virtual Memory
– No Protection
112. Linux for Real Time Applications
• Scheduling
– Priority Driven Approach
• Optimize average case response time
– Interactive Processes Given Highest Priority
• Aim to reduce response times of processes
– Real Time Processes
• Processes with high priority
• No notion of deadlines
• Resource Allocation
– No support for handling priority inversion
113. Interrupt Handling in Linux
• Interrupts are disabled in ISR/critical sections
of the kernel
• No worst case bound on interrupt latency
avaliable
– eg: Disk Drivers may disable interrupt for few
hundred milliseconds
• Not suitable for Real Time Applications
– Interrupts may be missed
114. Why Linux
• Coexistence of Real Time Applications with
non Real Time Ones
– Example http server
• Device Driver Base
• Stability
115. RTLinux
• Real Time Kernel at the
lowest level
• Linux Kernel is a low
priority thread
– Executed only when no real
time tasks
• Interrupts trapped by the
Real Time Kernel and
passed onto Linux Kernel
– Software emulation to
hardware interrupts
• Interrupts are queued by
RTLinux
• Software emulation to
disable_interrupt()
• Real Time Tasks
– Statically allocate
memory
– No address space
protection
• Non Real Time
Tasks are
developed in Linux
• Communication
– Queues
– Shared memory
117. Two Level Interrupt Handling
• Two level Interrupt Handling
– Top Half Interrupt Handler
• Called Immediately – Kernel never disables interrupts
• Cannot invoke thread library functions - Race Conditions
– Bottom Half Interrupt Handler
• Invoked when kernel not in Critical Section
• Can invoke thread library functions
• Very Low Response time (as compared to Linux)
118. Peripheral devices and protocols
• Interfacing
Serial/parallel ports, USB, I2C, PCMCIA, IDE
• Communication
Serial, Ethernet, Low bandwidth radio, IrDA,
802.11b based devices
• User Interface
LCD, Keyboard, Touch sensors, Sound, Digital
pads, Webcams
• Sensors
A variety of sensors using fire, temperature,
pressure, water level, seismic, sound, vision
Editor's Notes
On time deadlines
Computer software that can work offline, i.e. does not necessarily require network connection to function
Software that is not a part of some bundled software
A program that is run as a separate computer process, not an add-on of an existing process