Scis.regis.edu ● [email protected] CS 468: Advanced UNIX Class 4 Dr. Jesús Borrego Regis University...
-
Upload
alaina-wilkerson -
Category
Documents
-
view
214 -
download
0
Transcript of Scis.regis.edu ● [email protected] CS 468: Advanced UNIX Class 4 Dr. Jesús Borrego Regis University...
![Page 2: Scis.regis.edu ● scis@regis.edu CS 468: Advanced UNIX Class 4 Dr. Jesús Borrego Regis University 1.](https://reader038.fdocuments.us/reader038/viewer/2022110212/56649f205503460f94c388ef/html5/thumbnails/2.jpg)
Topics
•Controlling Processes•Periodic Processes•Process Management•Q&A•Midterm
2
![Page 3: Scis.regis.edu ● scis@regis.edu CS 468: Advanced UNIX Class 4 Dr. Jesús Borrego Regis University 1.](https://reader038.fdocuments.us/reader038/viewer/2022110212/56649f205503460f94c388ef/html5/thumbnails/3.jpg)
![Page 4: Scis.regis.edu ● scis@regis.edu CS 468: Advanced UNIX Class 4 Dr. Jesús Borrego Regis University 1.](https://reader038.fdocuments.us/reader038/viewer/2022110212/56649f205503460f94c388ef/html5/thumbnails/4.jpg)
Process
•A running program•Used to control resource allocation by the
OS•When a process is created, a table is
made in a Process Table•Process consists of address space and
memory pages allocated to the process•Address space has code, variables, stacks,
virtual memory pointers, and other data
4
![Page 5: Scis.regis.edu ● scis@regis.edu CS 468: Advanced UNIX Class 4 Dr. Jesús Borrego Regis University 1.](https://reader038.fdocuments.us/reader038/viewer/2022110212/56649f205503460f94c388ef/html5/thumbnails/5.jpg)
Processes
5
A process can be defined as:
Source: Operating Systems: Internals and Design Principles (7th. Ed.) by William Stallings
![Page 6: Scis.regis.edu ● scis@regis.edu CS 468: Advanced UNIX Class 4 Dr. Jesús Borrego Regis University 1.](https://reader038.fdocuments.us/reader038/viewer/2022110212/56649f205503460f94c388ef/html5/thumbnails/6.jpg)
Process data structures
•Address space map for process•Process state•Execution priority•Resources allocated and in use•File descriptors and network ports used•Process signal mask•Process owner
6
![Page 7: Scis.regis.edu ● scis@regis.edu CS 468: Advanced UNIX Class 4 Dr. Jesús Borrego Regis University 1.](https://reader038.fdocuments.us/reader038/viewer/2022110212/56649f205503460f94c388ef/html5/thumbnails/7.jpg)
Processes
7
![Page 8: Scis.regis.edu ● scis@regis.edu CS 468: Advanced UNIX Class 4 Dr. Jesús Borrego Regis University 1.](https://reader038.fdocuments.us/reader038/viewer/2022110212/56649f205503460f94c388ef/html5/thumbnails/8.jpg)
Threads
•Created by a fork in a process•Inherits from parent•Can have multiple threads executing
concurrently•Multicore and multiprocessor systems
benefit multithreading
8
![Page 9: Scis.regis.edu ● scis@regis.edu CS 468: Advanced UNIX Class 4 Dr. Jesús Borrego Regis University 1.](https://reader038.fdocuments.us/reader038/viewer/2022110212/56649f205503460f94c388ef/html5/thumbnails/9.jpg)
Attributes
•PID – unique process ID•PPID – parent PID•UID – user ID; who created the process•EUID – effective UID – reflects resources the
process can have; same as UID in most casesGID – group ID
•EGID – effective GID•Niceness – how the process interacts with
others•Control terminal – linkages to standard I/O
9
![Page 10: Scis.regis.edu ● scis@regis.edu CS 468: Advanced UNIX Class 4 Dr. Jesús Borrego Regis University 1.](https://reader038.fdocuments.us/reader038/viewer/2022110212/56649f205503460f94c388ef/html5/thumbnails/10.jpg)
Process lifecycle
•Created with fork•Process execution begins with exec•Process terminates with a call to exit
▫Provides return code (0 is success)▫Parent receives return code to
acknowledge child’s death•If parent dies first, child is “adopted” by
init
10
![Page 11: Scis.regis.edu ● scis@regis.edu CS 468: Advanced UNIX Class 4 Dr. Jesús Borrego Regis University 1.](https://reader038.fdocuments.us/reader038/viewer/2022110212/56649f205503460f94c388ef/html5/thumbnails/11.jpg)
Signals
•Interrupt request for processes•Can be used to communicate among
processes•Can kill, interrupt, or suspend processes•Can be originated by kernel when
unhandled exceptions occur•When received, a handler is called (if
handler is defined); otherwise, kernel takes action
11
![Page 12: Scis.regis.edu ● scis@regis.edu CS 468: Advanced UNIX Class 4 Dr. Jesús Borrego Regis University 1.](https://reader038.fdocuments.us/reader038/viewer/2022110212/56649f205503460f94c388ef/html5/thumbnails/12.jpg)
![Page 13: Scis.regis.edu ● scis@regis.edu CS 468: Advanced UNIX Class 4 Dr. Jesús Borrego Regis University 1.](https://reader038.fdocuments.us/reader038/viewer/2022110212/56649f205503460f94c388ef/html5/thumbnails/13.jpg)
Kill signal
•Used to terminate a process•Can be used by normal users to kill their
own processes•Root access is required for other
processes•Kill receives a signal, a numeric value
(see previous slide)•In some systems, killall terminates init –
system shutdown
13
![Page 14: Scis.regis.edu ● scis@regis.edu CS 468: Advanced UNIX Class 4 Dr. Jesús Borrego Regis University 1.](https://reader038.fdocuments.us/reader038/viewer/2022110212/56649f205503460f94c388ef/html5/thumbnails/14.jpg)
![Page 15: Scis.regis.edu ● scis@regis.edu CS 468: Advanced UNIX Class 4 Dr. Jesús Borrego Regis University 1.](https://reader038.fdocuments.us/reader038/viewer/2022110212/56649f205503460f94c388ef/html5/thumbnails/15.jpg)
![Page 16: Scis.regis.edu ● scis@regis.edu CS 468: Advanced UNIX Class 4 Dr. Jesús Borrego Regis University 1.](https://reader038.fdocuments.us/reader038/viewer/2022110212/56649f205503460f94c388ef/html5/thumbnails/16.jpg)
Monitoring processes•To monitor processes:
ps•Shows PID, UID,
priority, control terminal
•Can include memory used, CPU utilization, status
•See example of ps aux on page 131
16
![Page 17: Scis.regis.edu ● scis@regis.edu CS 468: Advanced UNIX Class 4 Dr. Jesús Borrego Regis University 1.](https://reader038.fdocuments.us/reader038/viewer/2022110212/56649f205503460f94c388ef/html5/thumbnails/17.jpg)
![Page 18: Scis.regis.edu ● scis@regis.edu CS 468: Advanced UNIX Class 4 Dr. Jesús Borrego Regis University 1.](https://reader038.fdocuments.us/reader038/viewer/2022110212/56649f205503460f94c388ef/html5/thumbnails/18.jpg)
![Page 19: Scis.regis.edu ● scis@regis.edu CS 468: Advanced UNIX Class 4 Dr. Jesús Borrego Regis University 1.](https://reader038.fdocuments.us/reader038/viewer/2022110212/56649f205503460f94c388ef/html5/thumbnails/19.jpg)
![Page 20: Scis.regis.edu ● scis@regis.edu CS 468: Advanced UNIX Class 4 Dr. Jesús Borrego Regis University 1.](https://reader038.fdocuments.us/reader038/viewer/2022110212/56649f205503460f94c388ef/html5/thumbnails/20.jpg)
Dynamic Monitoring
•ps captures a snapshot of the system▫At that particular time
•top – top processes using the system every 10 seconds (default)
•topas – AIX version•prstat – Solaris version
20
![Page 21: Scis.regis.edu ● scis@regis.edu CS 468: Advanced UNIX Class 4 Dr. Jesús Borrego Regis University 1.](https://reader038.fdocuments.us/reader038/viewer/2022110212/56649f205503460f94c388ef/html5/thumbnails/21.jpg)
/proc File System
•The /proc directory contains information about the system state
•The kernel creates the directory•Information is organized by
subdirectories named by the PID▫/proc 1 is the init process directory
•Predefined directories are shown in Table 5.7 (next slide)
21
![Page 22: Scis.regis.edu ● scis@regis.edu CS 468: Advanced UNIX Class 4 Dr. Jesús Borrego Regis University 1.](https://reader038.fdocuments.us/reader038/viewer/2022110212/56649f205503460f94c388ef/html5/thumbnails/22.jpg)
![Page 23: Scis.regis.edu ● scis@regis.edu CS 468: Advanced UNIX Class 4 Dr. Jesús Borrego Regis University 1.](https://reader038.fdocuments.us/reader038/viewer/2022110212/56649f205503460f94c388ef/html5/thumbnails/23.jpg)
![Page 24: Scis.regis.edu ● scis@regis.edu CS 468: Advanced UNIX Class 4 Dr. Jesús Borrego Regis University 1.](https://reader038.fdocuments.us/reader038/viewer/2022110212/56649f205503460f94c388ef/html5/thumbnails/24.jpg)
Tracing signals and system calls•Linux provides visibility into a process
with strace▫Shows every system call and every signal
received•Similar: truss (AIX, Solaris), and tusc
(HPUX)•Example of strace is shown on page 137
24
![Page 25: Scis.regis.edu ● scis@regis.edu CS 468: Advanced UNIX Class 4 Dr. Jesús Borrego Regis University 1.](https://reader038.fdocuments.us/reader038/viewer/2022110212/56649f205503460f94c388ef/html5/thumbnails/25.jpg)
![Page 26: Scis.regis.edu ● scis@regis.edu CS 468: Advanced UNIX Class 4 Dr. Jesús Borrego Regis University 1.](https://reader038.fdocuments.us/reader038/viewer/2022110212/56649f205503460f94c388ef/html5/thumbnails/26.jpg)
Scheduling Commands
26
•To schedule scheduled processes: cron daemon
•Starts when system boots up and terminates when shutdown
•Receives configuration files (crontab) with commands and times to execute▫User crontabs located /var/spool/cron▫One for root, up to one per user
•Executes lines with sh
![Page 27: Scis.regis.edu ● scis@regis.edu CS 468: Advanced UNIX Class 4 Dr. Jesús Borrego Regis University 1.](https://reader038.fdocuments.us/reader038/viewer/2022110212/56649f205503460f94c388ef/html5/thumbnails/27.jpg)
crontab File Format
27
•#comments•Six field line:
▫Minute, hour, day of month, month, weekday (separated by white space)
▫Command (passed to shell in entirety)•% represent new lines
▫Command receives characters up to first %
![Page 28: Scis.regis.edu ● scis@regis.edu CS 468: Advanced UNIX Class 4 Dr. Jesús Borrego Regis University 1.](https://reader038.fdocuments.us/reader038/viewer/2022110212/56649f205503460f94c388ef/html5/thumbnails/28.jpg)
![Page 29: Scis.regis.edu ● scis@regis.edu CS 468: Advanced UNIX Class 4 Dr. Jesús Borrego Regis University 1.](https://reader038.fdocuments.us/reader038/viewer/2022110212/56649f205503460f94c388ef/html5/thumbnails/29.jpg)
Time Formats
29
•* - wild card•Single integers – matches exactly•Two integers separated by dash – range•Ranges followed by slash and step:
▫1-10/2 1 to 10, in 2 increments•Comma separated list of values
35 10 * * 1-3 10:35 am Monday to Wednesday
![Page 30: Scis.regis.edu ● scis@regis.edu CS 468: Advanced UNIX Class 4 Dr. Jesús Borrego Regis University 1.](https://reader038.fdocuments.us/reader038/viewer/2022110212/56649f205503460f94c388ef/html5/thumbnails/30.jpg)
![Page 31: Scis.regis.edu ● scis@regis.edu CS 468: Advanced UNIX Class 4 Dr. Jesús Borrego Regis University 1.](https://reader038.fdocuments.us/reader038/viewer/2022110212/56649f205503460f94c388ef/html5/thumbnails/31.jpg)
crontab Management
31
•To create or replace your user’s crontab:crontab filename
•To check out crontab and edit:crontab -e
•To list contents of crontab:crontab -l
•To remove crontab:crontab –r
•Roots can add username to above
![Page 32: Scis.regis.edu ● scis@regis.edu CS 468: Advanced UNIX Class 4 Dr. Jesús Borrego Regis University 1.](https://reader038.fdocuments.us/reader038/viewer/2022110212/56649f205503460f94c388ef/html5/thumbnails/32.jpg)
Applications of cron
32
•Preinstalled: ▫Daily scripts in /etc/cron.daily▫Weekly scripts in /etc/cron.weekly
•Reminders: periodic tasks•Filesystem cleanup
▫Removing obsolete files•Network file synchronization•Log file cleanup
![Page 33: Scis.regis.edu ● scis@regis.edu CS 468: Advanced UNIX Class 4 Dr. Jesús Borrego Regis University 1.](https://reader038.fdocuments.us/reader038/viewer/2022110212/56649f205503460f94c388ef/html5/thumbnails/33.jpg)
Process Management
33
•Kernel controls process access to RAM and CPU:▫Scheduler – allocates CPU time to a
processes, based on scheduling algorithm▫Memory Manager – allocates memory
space to each process and protects it from external source access
![Page 34: Scis.regis.edu ● scis@regis.edu CS 468: Advanced UNIX Class 4 Dr. Jesús Borrego Regis University 1.](https://reader038.fdocuments.us/reader038/viewer/2022110212/56649f205503460f94c388ef/html5/thumbnails/34.jpg)
CPU Utilization
34
![Page 35: Scis.regis.edu ● scis@regis.edu CS 468: Advanced UNIX Class 4 Dr. Jesús Borrego Regis University 1.](https://reader038.fdocuments.us/reader038/viewer/2022110212/56649f205503460f94c388ef/html5/thumbnails/35.jpg)
Scheduling of processes
35
Source: Operating Systems: Internals and Design Principles (7th. Ed.) by William Stallings
![Page 36: Scis.regis.edu ● scis@regis.edu CS 468: Advanced UNIX Class 4 Dr. Jesús Borrego Regis University 1.](https://reader038.fdocuments.us/reader038/viewer/2022110212/56649f205503460f94c388ef/html5/thumbnails/36.jpg)
Executable file layout
36
Magic Number and Main Header
Section One Header
Section Two Header
Section One
Section Two
![Page 37: Scis.regis.edu ● scis@regis.edu CS 468: Advanced UNIX Class 4 Dr. Jesús Borrego Regis University 1.](https://reader038.fdocuments.us/reader038/viewer/2022110212/56649f205503460f94c388ef/html5/thumbnails/37.jpg)
First Processes
•PID 0 (sched) – created at boot•PID 0 executes fork and exec twice to
create processes 1 (init) and 2 (pageout)
37
Process 1
fork/exec fork/exec
process 48 process 12
process 34
fork/exec
![Page 38: Scis.regis.edu ● scis@regis.edu CS 468: Advanced UNIX Class 4 Dr. Jesús Borrego Regis University 1.](https://reader038.fdocuments.us/reader038/viewer/2022110212/56649f205503460f94c388ef/html5/thumbnails/38.jpg)
Process States
38
RunningZombie
dRunnabl
eIdle
Sleeping
Suspended
Initialize
Signal Signal
Exit
Wait on Event
EventOccurs
AllocatedCPU
![Page 39: Scis.regis.edu ● scis@regis.edu CS 468: Advanced UNIX Class 4 Dr. Jesús Borrego Regis University 1.](https://reader038.fdocuments.us/reader038/viewer/2022110212/56649f205503460f94c388ef/html5/thumbnails/39.jpg)
Process Composition
•Code Area – executable portion of the process
•Data Area – static data used by process•Stack Area – Temporary data•User Area – Housekeeping process
information•Page Tables – Memory management
system
39
![Page 40: Scis.regis.edu ● scis@regis.edu CS 468: Advanced UNIX Class 4 Dr. Jesús Borrego Regis University 1.](https://reader038.fdocuments.us/reader038/viewer/2022110212/56649f205503460f94c388ef/html5/thumbnails/40.jpg)
User Area
•One per process•Accessible by the kernel•Fields included:
▫Signal handling record▫File descriptor record▫CPU access record
40
![Page 41: Scis.regis.edu ● scis@regis.edu CS 468: Advanced UNIX Class 4 Dr. Jesús Borrego Regis University 1.](https://reader038.fdocuments.us/reader038/viewer/2022110212/56649f205503460f94c388ef/html5/thumbnails/41.jpg)
Process Table
•One entry for each process•Created in kernel’s data region•Contain:
▫PID and PPID▫UID and GID▫Process state▫Location of code, data, stack, user area▫Pending signal set
41
![Page 43: Scis.regis.edu ● scis@regis.edu CS 468: Advanced UNIX Class 4 Dr. Jesús Borrego Regis University 1.](https://reader038.fdocuments.us/reader038/viewer/2022110212/56649f205503460f94c388ef/html5/thumbnails/43.jpg)
Questions?
43