Operating system - Process and its conceptsKaran Thakkar
This presentation gives an overview of Process concepts in Operating System. The presentation aims at alleviating most of the overheads while understanding the process concept in operating system. this tailor made presentation will help individuals to understand the overall meaning of process and its underlying concepts used in an operating system.
Operating system - Process and its conceptsKaran Thakkar
This presentation gives an overview of Process concepts in Operating System. The presentation aims at alleviating most of the overheads while understanding the process concept in operating system. this tailor made presentation will help individuals to understand the overall meaning of process and its underlying concepts used in an operating system.
What is a Process?
A process is a program in execution. Process is not as same as program code but a lot more than it. A process is an 'active' entity as opposed to program which is considered to be a 'passive' entity. Attributes held by process include hardware state, memory, CPU etc .
( Program & Process )
Program
A computer program is a collection of instruction that performs a specific task when executed by a computer .
Passive entity
( Process )
- Active entity
- Program code + pc + associated resources + Status of the
process’s execution .
Processes
Process Concept
Process Scheduling
Operations on Processes
Cooperating Processes
Interprocess Communication
Communication in Client-Server Systems
( Process Concept )
An operating system executes a variety of programs: -
- Batch system – jobs
- Time-shared systems – user programs or tasks
Process – a program in execution; process execution must progress in sequential fashion.
A process includes:
Text section
Data section
Stack section
program counter
( Process Concept )
Program is passive entity stored on disk (executable file), process is active
Program becomes process when executable file loaded into memory
Execution of program started via GUI mouse clicks, command line entry of its name, etc
One program can be several processes
Consider multiple users executing the same program
What the OS is going to do for the Process?
Creating and removing( destroying )process .
Controlling the progress of processes .
Acting on interrupts and arithmetic errors .
Resource allocation among processes .
Inter process communication .
( Process Memory )
Process memory is divided into four sections for efficient working : -
The Text section is made up of the compiled program code, read in from non-volatile storage when the program is launched.
The Data section is made up the global and static variables, allocated and initialized prior to executing the main.
The Heap is used for the dynamic memory allocation, and is managed via calls to new, delete, malloc, free, etc.
The Stack is used for local variables. Space on the stack is reserved for local variables when they are declared.
( Process Memory )
#include<iostream>
using namespace std;
int total;
int Square(int x)
{
return x*x;
}
int SquareOfSum(int x,int y)
{
int z=Square(x+y);
return z;
}
int main()
{
int a=4,b=8;
total=SquareOfSum(a,b);
cout<<"Total ="<<total<<endl;
system("pause");
}
( Stack & Heap )
#include<iostream>
using namespace std;
void main()
{
int x;
x=10;
int *ptr;
ptr=&x;
cout<<*ptr<<" "<<x<<" "<<ptr <<" "<<&x<<endl;
*ptr=30;
cout<<endl<<endl;
cout<<*ptr<<" "<<x<<" "<< ptr <<" "<<&x<<endl;
cout<<endl<<endl;
system("pause");
}
Gives an overview about Process, PCB, Process States, Process Operations, Scheduling, Schedulers, Interprocess communication, shared memory and message passing systems
Processes description and process control.Ahsan Rahim
My Fiverr Profile: https://www.fiverr.com/ahsanrahim786
Click to download more Books: http://appsdisaster.blogspot.com/
Process description and process control block in operating system. It includes Process Control Block, Two-states Process model & Five-state process models,
Unix Process Management
Process management is an integral part of any modern day operating system (OS). The OS must allocate resources to processes, enable processes to share and exchange information, protect the resources of each process from other processes and enable synchronisation among processes
What is a Process?
A process is a program in execution. Process is not as same as program code but a lot more than it. A process is an 'active' entity as opposed to program which is considered to be a 'passive' entity. Attributes held by process include hardware state, memory, CPU etc .
( Program & Process )
Program
A computer program is a collection of instruction that performs a specific task when executed by a computer .
Passive entity
( Process )
- Active entity
- Program code + pc + associated resources + Status of the
process’s execution .
Processes
Process Concept
Process Scheduling
Operations on Processes
Cooperating Processes
Interprocess Communication
Communication in Client-Server Systems
( Process Concept )
An operating system executes a variety of programs: -
- Batch system – jobs
- Time-shared systems – user programs or tasks
Process – a program in execution; process execution must progress in sequential fashion.
A process includes:
Text section
Data section
Stack section
program counter
( Process Concept )
Program is passive entity stored on disk (executable file), process is active
Program becomes process when executable file loaded into memory
Execution of program started via GUI mouse clicks, command line entry of its name, etc
One program can be several processes
Consider multiple users executing the same program
What the OS is going to do for the Process?
Creating and removing( destroying )process .
Controlling the progress of processes .
Acting on interrupts and arithmetic errors .
Resource allocation among processes .
Inter process communication .
( Process Memory )
Process memory is divided into four sections for efficient working : -
The Text section is made up of the compiled program code, read in from non-volatile storage when the program is launched.
The Data section is made up the global and static variables, allocated and initialized prior to executing the main.
The Heap is used for the dynamic memory allocation, and is managed via calls to new, delete, malloc, free, etc.
The Stack is used for local variables. Space on the stack is reserved for local variables when they are declared.
( Process Memory )
#include<iostream>
using namespace std;
int total;
int Square(int x)
{
return x*x;
}
int SquareOfSum(int x,int y)
{
int z=Square(x+y);
return z;
}
int main()
{
int a=4,b=8;
total=SquareOfSum(a,b);
cout<<"Total ="<<total<<endl;
system("pause");
}
( Stack & Heap )
#include<iostream>
using namespace std;
void main()
{
int x;
x=10;
int *ptr;
ptr=&x;
cout<<*ptr<<" "<<x<<" "<<ptr <<" "<<&x<<endl;
*ptr=30;
cout<<endl<<endl;
cout<<*ptr<<" "<<x<<" "<< ptr <<" "<<&x<<endl;
cout<<endl<<endl;
system("pause");
}
Gives an overview about Process, PCB, Process States, Process Operations, Scheduling, Schedulers, Interprocess communication, shared memory and message passing systems
Processes description and process control.Ahsan Rahim
My Fiverr Profile: https://www.fiverr.com/ahsanrahim786
Click to download more Books: http://appsdisaster.blogspot.com/
Process description and process control block in operating system. It includes Process Control Block, Two-states Process model & Five-state process models,
Unix Process Management
Process management is an integral part of any modern day operating system (OS). The OS must allocate resources to processes, enable processes to share and exchange information, protect the resources of each process from other processes and enable synchronisation among processes
The second part of Linux Internals covers system calls, process subsystem and inter process communication mechanisms. Understanding these services provided by Linux are essential for embedded systems engineer.
this is a presentation on scheduling algorithms of an operating system.
it also describes part of the psudo code.
basically this is all about the operating system and the basic processes
Similar to Process Control Block & Threads and Their Management (20)
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.
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.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
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.
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
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
3. Introduction
• Each & every process in the Operating System is
represented by a Process Control Block.
• Process Control Block ~ Task Control Block or
Task Struct.
3
Presentation by Ujjwal
Kumar
4. What exactly is PCB?
• It is a Data Structure in the operating system
kernel containing the information needed to
manage a particular process.
• The PCB is "the manifestation(Visible) of a
process in an operating system”
4
Presentation by Ujjwal
Kumar
8. • Pointers: It contains the address of another
process which is present in the ready queue.
• Process State: It contains information about
the state of the process i.e.,
• New
• Ready
• Running
• Waiting
• Halted
Presentation by Ujjwal
Kumar
8
9. • Program Counter: The address of the next
instruction to be executed.
• CPU Registers: The registers vary in no. and
type depending on the type of computer
architecture, they include:
• Accumulators, index registers, stack pointers and
general purpose registers
Presentation by Ujjwal
Kumar
9
10. • CPU scheduling information: This
information includes
▫ Process priority
▫ Pointer to scheduling queues
▫ Other scheduling parameters.
• Memory management information: This
information includes
▫ Value of base and limit registers
▫ Page tables
▫ Segment tables.
Presentation by Ujjwal
Kumar
10
11. • Accounting information: This information
includes
• Amount of CPU and real time used
• Time limits
• Account numbers
• Job or Process numbers etc.
• I/O status information: This information
includes
• List of I/O devices allocated to the process
• List of open files etc .
Presentation by Ujjwal
Kumar
11
12. Now we know what exactly the
Process Control Block is. But
do we know where the location
of PCB is?
Presentation by Ujjwal
Kumar
12
13. • Contains critical information of processes and
hence it must be placed where it is protected
from normal user access.
• In many Operating systems, it is placed in the
beginning of the kernel stack of the process since
that is a convenient protected location.
Presentation by Ujjwal
Kumar
13
15. Interleaving Execution of Processes
• Perception of normal end user:
Presentation by Ujjwal
Kumar
15
Process
A Process
B
Process
C
Process D
Time
16. Interleaving Execution of Processes
• In reality, this is how the processes are executed:
Presentation by Ujjwal
Kumar
16
Process 1
Process 2
Process 1
Process 2
18. Threads
• Definition: In simple words we can say that
Threads are light weight processes.
• It is a sequence and not a program because it
cannot run on its own so it returns within the
program.
• A process is divided into smaller tasks and these
tasks are known as threads.
• A basic unit of CPU Utilization.
Presentation by Ujjwal
Kumar
18
19. Advantages of Threads
• If a process has multiple threads then it will be
able to perform more than one single task at the
same time.
• Better Throughput.
• Makes the program Responsive.
Presentation by Ujjwal
Kumar
19
21. Multithreading
• Sometimes several similar tasks have to be
performed by the application in order to get the
word done.
• This is where the Multithreading comes in.
Presentation by Ujjwal
Kumar
21
22. Real life examples of Multithreading - I
• Web browsers: They have different threads to
do different work.
▫ One thread will retrieve data from the remote
servers.
▫ Another one will render the data received into
visual web pages.
• Example: Google Chrome, Opera, Firefox etc.
Presentation by Ujjwal
Kumar
22
23. Real life examples of Multithreading -
II
• Word Processors: Different threads in word
processor will do different jobs.
▫ One will render the text based materials.
▫ Another one will render graphic based materials
like the images etc.
• Example: Microsoft Office
Presentation by Ujjwal
Kumar
23
24. Benefits of Multithreading
• Responsiveness: The process responds much
better while using multithreading as compared
to single threaded processes.
• Speed Up: The process is speeded up by using
multithreading hence giving a much better
experience to the end user.
• Efficient Communication: The threads of a
specific process can communicate with each
other efficiently because of the shared address
space.
Presentation by Ujjwal
Kumar
24
25. • Utilization in multiprocessor systems:
▫ Multithreading can take advantages of a
multiprocessor system.
▫ Multiple threads can be processed on multiple
cores of the system.
Presentation by Ujjwal
Kumar
25
26. Implementation of Threads
• Threads are implemented in a system in three
different ways.
▫ Kernel Level Threads
▫ User Level Threads
▫ Hybrid Level Threads
Presentation by Ujjwal
Kumar
26
27. Kernel Level Threads
• Implemented by the kernel itself.
• Management of threads is also done by the
kernel itself.
Presentation by Ujjwal
Kumar
27
Process
Threads
Process
Table
29. User Level Thread
• These type of threads are loaded in the user
space and the kernel doesn’t have anything to do
with this.
• Threads are managed in user space so each
process must have its own private thread table.
• This table consists the information of:
▫ Program Counter
▫ Stack Pointer
▫ Register.
Presentation by Ujjwal
Kumar
29