It consists of CPU scheduling algorithms, examples, scheduling problems, realtime scheduling algorithms and issues. Multiprocessing and multicore scheduling.
It consists of CPU scheduling algorithms, examples, scheduling problems, realtime scheduling algorithms and issues. Multiprocessing and multicore scheduling.
This Presention contains Cpu scheduling algorithms,Scheduling Criteria,process sychroization,mutilevel feed back que,critical section problem anad semaphores,Synchoroniztion hardware
Operating Systems Process Scheduling Algorithmssathish sak
CPU scheduling big area of research in early ‘70s
Many implicit assumptions for CPU scheduling:
One program per user
One thread per program
Programs are independent
These are unrealistic but simplify the problem
Does “fair” mean fairness among users or programs?
If I run one compilation job and you run five, do you get five times as much CPU?
Often times, yes!
Goal: dole out CPU time to optimize some desired parameters of the system.
Linux Memory Management
1.Memory Structure of Linux OS.
2.How Program is loaded into the memory.
3.Address Translation.
4.Feature for Multithreading and Multiprocessing.
This Presention contains Cpu scheduling algorithms,Scheduling Criteria,process sychroization,mutilevel feed back que,critical section problem anad semaphores,Synchoroniztion hardware
Operating Systems Process Scheduling Algorithmssathish sak
CPU scheduling big area of research in early ‘70s
Many implicit assumptions for CPU scheduling:
One program per user
One thread per program
Programs are independent
These are unrealistic but simplify the problem
Does “fair” mean fairness among users or programs?
If I run one compilation job and you run five, do you get five times as much CPU?
Often times, yes!
Goal: dole out CPU time to optimize some desired parameters of the system.
Linux Memory Management
1.Memory Structure of Linux OS.
2.How Program is loaded into the memory.
3.Address Translation.
4.Feature for Multithreading and Multiprocessing.
Maximum CPU utilization obtained with multiprogramming
CPU–I/O Burst Cycle – Process execution consists of a cycle of CPU execution and I/O wait
CPU burst followed by I/O burst
CPU burst distribution is of main concern
4 Module - Operating Systems Configuration and Use by Mark John LadoMark John Lado, MIT
4 Module - Operating Systems Configuration and Use
More on https://www.markjohn.cf/courses
This course will deliberate on the basics of an operating system, which may include Computer Memory, the Operating System, its Graphical User Interface, The Windows Operating System, and Desktop, Operating System Installation.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
4. Scheduling
Scheduling Criteria
Windows Scheduling
Priority Schemes
Thread Priority
Scheduling Features in Windows
4
5. Maximum CPU utilization ? Multiprogramming.
◦ Several processes are kept in memory at one time.
◦ Any process can take over the CPU.
Process Scheduler is the component of the OS.
Scheduling of the CPU is fundamental to OS design.
Ref: William Stalling
5
6. Assign processes to be executed by the processor over time.
Meets System objectives:
◦ Response time
◦ Throughput
◦ Processor efficiency
Ref: William Stalling
6
7. Scheduling function should:
◦ Share time fairly among processes
◦ Prevent starvation of a process
◦ Use the processor efficiently
◦ Have low overhead
◦ Prioritise processes when necessary
Ref: William Stalling
7
8. CPU scheduling is affected by the following :
◦ (N) A process switches from running to waiting state
◦ (P) A process switches from running to ready state
◦ (P) A process switches from waiting to ready state
◦ (N) A process switches from running to terminate
state
Circumstances 1 and 4 are non pre-emptive; “they offer
no schedule choice”
Circumstances 2 and 3 are pre-emptive; “they can be
scheduled”
Ref: William Stalling
8
10. The dispatcher module gives control of the CPU to the
process selected by the short-term scheduler; this
involves:
◦ switching context
◦ switching to user mode
The dispatcher needs to run as fast as possible, since it
is invoked during process context switch.
The time it takes for the dispatcher to stop one process
and start another process is called dispatch latency.
http://en.wikipedia.org/wiki/Scheduling_(computing)
10
11. Different CPU scheduling algorithms have different
properties.
The choice of a particular algorithm may favour one
class of processes over another.
In choosing which algorithm to use, the properties of the
various algorithms should be considered.
Ref: William Stalling
11
12. Criteria for comparing CPU scheduling algorithms may
include:
◦ CPU utilization
◦ Throughput
◦ Turnaround time
◦ Response time
◦ Waiting time
Ref: William Stalling
12
13. First Come, First Served (FCFS)
Shortest Job First (SJF)
Priority
Round Robin (RR)
Ref: William Stalling
13
14. DOS-Based
◦ Windows 3.1x
Windows 9x
◦ Windows 95, 98, ME
Windows NT
◦ 2000, XP, Vista, 7, 8, 10
Windows Server
◦ 2003, 2008, 2012
Windows Mobile
Windows Phone
◦ 7, 8, 10
http://en.wikipedia.org/wiki/Windows_NT
14
15. MS-DOS is non-multitasking, and as such did not
feature a schedule.
Windows 3.1x used a non-preemptive scheduler,
meaning that it did not interrupt programs.
Windows 95 introduced a rudimentary preemptive
scheduler.
http://en.wikipedia.org/wiki/Scheduling_(computing)
15
16. Windows NT-based operating systems use a multilevel
feedback queue. 32 priority levels are defined,
◦ Give preference to short jobs.
◦ Give preference to I/O bound processes.
◦ Quickly establish the nature of a process and schedule
the process accordingly.
All processes receive a priority boost after a wait
event, but processes that have experienced a keyboard
I/O wait get a larger boost than those that have
experienced a disk I/O wait.
http://www.ukessays.com/essays/information-
systems/compare-cpu-scheduling-of-linux-and-
windows.php
16
17. Windows XP schedules threads using a priority-based,
pre-emptive scheduler with a flexible system of priority
levels that includes round-robin scheduling within each
level.
The scheduler ensures that the highest priority thread
will always run.
The portion of the Windows kernel that handles
scheduling is called the dispatcher.
http://en.wikipedia.org/wiki/Scheduling_(computing)
17
18. A thread selected to run by the dispatcher will run until it:
◦ Pre-empted by a higher-priority thread,
◦ Terminates,
◦ Time quantum ends,
◦ Calls a blocking system call such as I/O
If a higher priority real-time thread becomes ready while
a lower-priority thread is running, lower-priority thread
will be pre-empted.
◦ This pre-emption gives a real-time thread preferential
access to the CPU when the thread needs such
access.
http://en.wikipedia.org/wiki/Scheduling_(computing)
18
20. The dispatcher uses a 32-level priority scheme to
determine the order of thread execution
Priorities are divided into two classes
◦ The variable class contains threads having priorities 1
to 15
◦ The real-time class contains threads with priorities
ranging from 16 to 31
◦ There is also a thread running at priority 0 that is used
for memory management
Ref: William Stalling
20
21. The dispatcher uses a queue for each scheduling priority
and traverses the set of queues from highest to lowest
until it finds a thread that is ready to run
If no ready thread is found, the dispatcher will execute a
special thread called the idle thread
Ref: William Stalling
21
23. The Windows Win32 API identifies six priority classes to
which a process can belong as shown below
◦ Real-time priority class
◦ High priority class
◦ Above normal priority class
◦ Normal priority class
◦ Below normal priority class
◦ Low priority class
Priorities in all classes except the real-time priority class
are variable
◦ This means that the priority of a thread in one of these
classes can change
https://prezi.com/2swi3wc7pger/xp-scheduling/
23
25. Within each of the priority classes is a relative priority as
shown below
The priority of each thread is based on the priority class
it belongs to and its relative priority within that class
https://prezi.com/2swi3wc7pger/xp-scheduling/
25
26. The initial priority of a thread is typically the base priority
of the process that the thread belongs to
When a thread’s time quantum runs out, that thread is
interrupted
If the thread is in the variable-priority class, its priority is
lowered
◦ However, the priority is never lowered below the base
priority
Lowering the thread’s priority tends to limit the CPU
consumption of compute-bound threads
26
27. When a variable-priority thread is released from a wait
operation, the dispatcher boosts the priority
◦ The amount of boost depends on what the thread was
waiting for
A thread that was waiting for keyboard I/O would get
a large increase
A thread that was waiting for a disk operation would
get a moderate increase
This strategy tends to give good response time to
interactive threads that are using the mouse and
windows
27
28. It also enables I/O-bound threads to keep the
I/O devices busy while permitting compute-
bound threads to use spare CPU cycles in the
background
This strategy is used by several time-sharing
operating systems, including UNIX
In addition, the window with which the user is
currently interacting receives a priority boost to
enhance its response time
28
29. When a user is running an interactive program, the
system needs to provide especially good performance
for that process
Therefore, Windows XP has a special scheduling rule for
processes in the normal priority class
Windows XP distinguishes between the foreground
process that is currently selected on the screen and the
background processes that are not currently selected
https://msdn.microsoft.com/en-
us/library/windows/desktop/ms685100(v=vs.85).aspx
29
30. When a process moves in the foreground,
Windows XP increases the scheduling quantum
by some factor – typically by 3
This increase gives the foreground process
three times longer to run before a time-sharing
pre-emption occurs
https://msdn.microsoft.com/en-
us/library/windows/desktop/ms685100(v=vs.85).aspx
30
31. Earlier version of Windows provided a feature known as
Fiber.
Fibers allowed several user-mode threads (fibers) to be
mapped to a single kernel thread.
Fibers were of limited practical use.
A fiber was unable to make calls to the windows API
So Microsoft introduced a UMS.
http://superuser.com/questions/452780/scheduling-
algorithm-used-in-windows-7
31
32. Windows 7 introduced a user-mode scheduling (UMS),
Which allows application to create and manage threads
independently of the kernel.
Thus , an application can create and scheduled multiple
threads without involving the windows Kernel scheduler.
Scheduling threads in user mode is much more efficient
than kernel mode.
http://superuser.com/questions/452780/scheduling-
algorithm-used-in-windows-7
32
33. CPU cycle-based thread scheduling
The scheduler was modified to use the cycle counter
register of modern processors to keep track of exactly
how many CPU cycles a thread has executed, rather
than just using an interval-timer interrupt routine
This new CPU cycle-based thread scheduling gives a
greater fairness and more deterministic app behavior.
http://en.wikipedia.org/wiki/Technical_features_new_to
_Windows_Vista#Kernel_and_core_OS_changes
33
34. WinJS Scheduling
A new scheduler API in Windows 8.1 lets you set
the priority of tasks and manage jobs.
This helps you write HTML5 apps that use system
resources more efficiently and provide a more
responsive experience to your users.
https://msdn.microsoft.com/en-
us/library/windows/apps/dn751496.aspx
34
35. Pre-emptive scheduler with a flexible system of priority
levels that includes round-robin with multi level priority
queues.
Dispatcher used a 32-level priority scheme to determine
the order of thread execution.
The Windows Win32 API identifies six priority classes
The priority of each thread is based on the priority class
it belongs to and its relative priority within that class.
When a variable-priority thread is released from a wait
operation, the dispatcher boosts the priority.
When a user is running an interactive program, the
system needs to provide especially good performance
for that process.
Windows XP distinguishes between the foreground
process that is currently selected on the screen and the
background processes that are not currently selected.
35
36. If processer are in idle state which type of thread are to
be executed ?
Why Fibers are reject to serve as UMS ?
When dispatcher boost the priority which type of thread
get a large increase ?
For Which Processes are scheduling quantum by some
factor are increased by (eg75%) ?
what is the latest Process Scheduling feature used in
windows 8.1 ? And how it’ll beneficial for programmers ?
How many level priority scheme are used to determine ?
36
37. Lottery Scheduling
Processes are each assigned some number of lottery
tickets.
Scheduler draws a random ticket to select the next
process.
The distribution of tickets need not be uniform.
Granting a process more tickets provides it a relative
higher chance of selection.
Lottery scheduling solves the problem of Starvation.
Giving each process at least one lottery ticket
guarantees that it has non-zero probability of being
selected at each scheduling operation.
http://en.wikipedia.org/wiki/Lottery_scheduling
37