2 - Process (Part 1)
2 - Process (Part 1)
Process
(Part 1)
Vietnamese-German University
Ngoc Tran, Ph.D.
[email protected]
10
Operating System Concepts – 9th th Edition
Edition 3.2 Lecturer: Ngoc Tran, Ph.D. Silberschatz,
Silberschatz,Galvin andGagne
Galvin, Gagne©2018
©2013
Program
10Edition
Operating System Concepts – 9th th Edition 3.4 Lecturer: Ngoc Tran, Ph.D. Silberschatz,
Silberschatz,Galvin andGagne
Galvin, Gagne©2018
©2013
Program Code in Memory
10Edition
Operating System Concepts – 9th th Edition
3.7 Lecturer: Ngoc Tran, Ph.D. Silberschatz,
Silberschatz,Galvin andGagne
Galvin, Gagne©2018
©2013
Process State
init
pid = 1
emacs tcsch
ps
pid = 9204 pid = 4005
pid = 9298
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
int main()
{
printf("Hello world!\n");
return 0;
}
https://www.geeksforgeeks.org
Operating System Concepts – 9th10th Edition
Edition 3.25 Lecturer: Ngoc Tran, Ph.D. Silberschatz,
Silberschatz,Galvin andGagne
Galvin, Gagne©2018
©2013
C Program Forking Separate Process
#include <stdio.h>
#include <sys/types.h>
int main()
{
fork();
fork();
fork();
printf("hello\n");
return 0;
}
https://www.geeksforgeeks.org
Operating System Concepts – 9th10th Edition
Edition 3.26 Lecturer: Ngoc Tran, Ph.D. Silberschatz,
Silberschatz,Galvin andGagne
Galvin, Gagne©2018
©2013
C Program Forking Separate Process
https://www.geeksforgeeks.org
Operating System Concepts – 9th10th Edition
Edition 3.27 Lecturer: Ngoc Tran, Ph.D. Silberschatz,
Silberschatz,Galvin andGagne
Galvin, Gagne©2018
©2013
Creating a Separate Process via Windows API
#include <windows.h> 2
#include <stdio.h>
#include <tchar.h>
ZeroMemory(&si, sizeof(si));
si.cb = sizeof(si);
ZeroMemory(&pi, sizeof(pi));
if (argc != 2)
{
printf("Usage: %s [cmdline]\n", argv[0]);
return;
}