processes and operating systems
DESCRIPTION
Processes and operating systems. Interprocess communication. Operating system performance. Power management. Interprocess communication. OS provides interprocess communication mechanisms: various efficiencies; communication power. Interprocess communication. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Processes and operating systems](https://reader036.vdocuments.us/reader036/viewer/2022081515/568150f0550346895dbf0a40/html5/thumbnails/1.jpg)
© 2008 Wayne WolfOverheads for Computers as
Components 2nd ed.
Processes and operating systems
• Interprocess communication.• Operating system performance.• Power management.
1
![Page 2: Processes and operating systems](https://reader036.vdocuments.us/reader036/viewer/2022081515/568150f0550346895dbf0a40/html5/thumbnails/2.jpg)
© 2008 Wayne WolfOverheads for Computers as
Components 2nd ed.
Interprocess communication
• OS provides interprocess communication mechanisms:• various efficiencies;• communication power.
2
![Page 3: Processes and operating systems](https://reader036.vdocuments.us/reader036/viewer/2022081515/568150f0550346895dbf0a40/html5/thumbnails/3.jpg)
© 2008 Wayne WolfOverheads for Computers as
Components 2nd ed.
Interprocess communication
• Interprocess communication (IPC): OS provides mechanisms so that processes can pass data.
• Two types of semantics:• blocking: sending process waits for
response;• non-blocking: sending process
continues.
3
![Page 4: Processes and operating systems](https://reader036.vdocuments.us/reader036/viewer/2022081515/568150f0550346895dbf0a40/html5/thumbnails/4.jpg)
© 2008 Wayne WolfOverheads for Computers as
Components 2nd ed.
IPC styles
• Shared memory:• processes have some memory in
common;• must cooperate to avoid
destroying/missing messages.
• Message passing:• processes send messages along a
communication channel---no common address space.
4
![Page 5: Processes and operating systems](https://reader036.vdocuments.us/reader036/viewer/2022081515/568150f0550346895dbf0a40/html5/thumbnails/5.jpg)
© 2008 Wayne WolfOverheads for Computers as
Components 2nd ed.
Shared memory
• Shared memory on a bus:
CPU 1 CPU 2memory
5
![Page 6: Processes and operating systems](https://reader036.vdocuments.us/reader036/viewer/2022081515/568150f0550346895dbf0a40/html5/thumbnails/6.jpg)
© 2008 Wayne WolfOverheads for Computers as
Components 2nd ed.
Race condition in shared memory
• Problem when two CPUs try to write the same location:• CPU 1 reads flag and sees 0.• CPU 2 reads flag and sees 0.• CPU 1 sets flag to one and writes
location.• CPU 2 sets flag to one and overwrites
location.
6
![Page 7: Processes and operating systems](https://reader036.vdocuments.us/reader036/viewer/2022081515/568150f0550346895dbf0a40/html5/thumbnails/7.jpg)
© 2008 Wayne WolfOverheads for Computers as
Components 2nd ed.
Atomic test-and-set
• Problem can be solved with an atomic test-and-set:• single bus operation reads memory
location, tests it, writes it.
• ARM test-and-set provided by SWP: ADR r0,SEMAPHORE LDR r1,#1GETFLAG SWP r1,r1,[r0] BNZ GETFLAG
7
![Page 8: Processes and operating systems](https://reader036.vdocuments.us/reader036/viewer/2022081515/568150f0550346895dbf0a40/html5/thumbnails/8.jpg)
© 2008 Wayne WolfOverheads for Computers as
Components 2nd ed.
Critical regions
• Critical region: section of code that cannot be interrupted by another process.
• Examples:• writing shared memory;• accessing I/O device.
8
![Page 9: Processes and operating systems](https://reader036.vdocuments.us/reader036/viewer/2022081515/568150f0550346895dbf0a40/html5/thumbnails/9.jpg)
© 2008 Wayne WolfOverheads for Computers as
Components 2nd ed.
Semaphores
• Semaphore: OS primitive for controlling access to critical regions.
• Protocol:• Get access to semaphore with P().• Perform critical region operations.• Release semaphore with V().
9
![Page 10: Processes and operating systems](https://reader036.vdocuments.us/reader036/viewer/2022081515/568150f0550346895dbf0a40/html5/thumbnails/10.jpg)
© 2008 Wayne WolfOverheads for Computers as
Components 2nd ed.
Message passing
• Message passing on a network:
CPU 1 CPU 2
message message
message
10
![Page 11: Processes and operating systems](https://reader036.vdocuments.us/reader036/viewer/2022081515/568150f0550346895dbf0a40/html5/thumbnails/11.jpg)
© 2008 Wayne WolfOverheads for Computers as
Components 2nd ed.
Process data dependencies
• One process may not be able to start until another finishes.
• Data dependencies defined in a task graph.
• All processes in one task run at the same rate.
P1 P2
P3
P4
11
![Page 12: Processes and operating systems](https://reader036.vdocuments.us/reader036/viewer/2022081515/568150f0550346895dbf0a40/html5/thumbnails/12.jpg)
© 2008 Wayne WolfOverheads for Computers as
Components 2nd ed.
Signals in UML
• More general than Unix signal---may carry arbitrary data:
<<signal>>aSig
p : integer
someClass
sigbehavior()<<send>>
12
![Page 13: Processes and operating systems](https://reader036.vdocuments.us/reader036/viewer/2022081515/568150f0550346895dbf0a40/html5/thumbnails/13.jpg)
© 2008 Wayne WolfOverheads for Computers as
Components 2nd ed.
Evaluating RTOS performance
• Simplifying assumptions:• Context switch costs no CPU time,.• We know the exact execution time of
processes.• WCET/BCET don’t depend on context
switches.
13
![Page 14: Processes and operating systems](https://reader036.vdocuments.us/reader036/viewer/2022081515/568150f0550346895dbf0a40/html5/thumbnails/14.jpg)
Scheduling and context switch overhead
Process Execution time
deadline
P1 3 5
P2 3 10
© 2008 Wayne WolfOverheads for Computers as
Components 2nd ed.
With context switch overhead of1, no feasible schedule.2TP1 + TP2 = 2*(1+3)+(1_3)=11
14
![Page 15: Processes and operating systems](https://reader036.vdocuments.us/reader036/viewer/2022081515/568150f0550346895dbf0a40/html5/thumbnails/15.jpg)
© 2008 Wayne WolfOverheads for Computers as
Components 2nd ed.
Process execution time
• Process execution time is not constant.
• Extra CPU time can be good.• Extra CPU time can also be bad:
• Next process runs earlier, causing new preemption.
15
![Page 16: Processes and operating systems](https://reader036.vdocuments.us/reader036/viewer/2022081515/568150f0550346895dbf0a40/html5/thumbnails/16.jpg)
© 2008 Wayne WolfOverheads for Computers as
Components 2nd ed.
Processes and caches
• Processes can cause additional caching problems.• Even if individual processes are well-
behaved, processes may interfere with each other.
• Worst-case execution time with bad behavior is usually much worse than execution time with good cache behavior.
16
![Page 17: Processes and operating systems](https://reader036.vdocuments.us/reader036/viewer/2022081515/568150f0550346895dbf0a40/html5/thumbnails/17.jpg)
Effects of scheduling on the cache
Process WCET Avg. CPU time
P1 8 6
P2 4 3
P3 4 3
© 2008 Wayne WolfOverheads for Computers as
Components 2nd ed.
Schedule 1 (LRU cache):
Schedule 2 (half of cache reserved for P1):
17
![Page 18: Processes and operating systems](https://reader036.vdocuments.us/reader036/viewer/2022081515/568150f0550346895dbf0a40/html5/thumbnails/18.jpg)
© 2008 Wayne WolfOverheads for Computers as
Components 2nd ed.
Power optimization
• Power management: determining how system resources are scheduled/used to control power consumption.
• OS can manage for power just as it manages for time.
• OS reduces power by shutting down units.• May have partial shutdown modes.
18
![Page 19: Processes and operating systems](https://reader036.vdocuments.us/reader036/viewer/2022081515/568150f0550346895dbf0a40/html5/thumbnails/19.jpg)
© 2008 Wayne WolfOverheads for Computers as
Components 2nd ed.
Power management and performance
• Power management and performance are often at odds.
• Entering power-down mode consumes• energy,• time.
• Leaving power-down mode consumes• energy,• time.
19
![Page 20: Processes and operating systems](https://reader036.vdocuments.us/reader036/viewer/2022081515/568150f0550346895dbf0a40/html5/thumbnails/20.jpg)
© 2008 Wayne WolfOverheads for Computers as
Components 2nd ed.
Simple power management policies
• Request-driven: power up once request is received. Adds delay to response.
• Predictive shutdown: try to predict how long you have before next request.• May start up in advance of request in
anticipation of a new request.• If you predict wrong, you will incur
additional delay while starting up.
20
![Page 21: Processes and operating systems](https://reader036.vdocuments.us/reader036/viewer/2022081515/568150f0550346895dbf0a40/html5/thumbnails/21.jpg)
© 2008 Wayne WolfOverheads for Computers as
Components 2nd ed.
Probabilistic shutdown
• Assume service requests are probabilistic.
• Optimize expected values:• power consumption;• response time.
• Simple probabilistic: shut down after time Ton, turn back on after waiting for Toff.
21
![Page 22: Processes and operating systems](https://reader036.vdocuments.us/reader036/viewer/2022081515/568150f0550346895dbf0a40/html5/thumbnails/22.jpg)
© 2008 Wayne WolfOverheads for Computers as
Components 2nd ed.
Advanced Configuration and Power Interface
• ACPI: open standard for power management services.
Hardware platform
devicedrivers
ACPI BIOS
OS kernel
applications
powermanagement
22
![Page 23: Processes and operating systems](https://reader036.vdocuments.us/reader036/viewer/2022081515/568150f0550346895dbf0a40/html5/thumbnails/23.jpg)
© 2008 Wayne WolfOverheads for Computers as
Components 2nd ed.
ACPI global power states
• G3: mechanical off• G2: soft off
• S1: low wake-up latency with no loss of context• S2: low latency with loss of CPU/cache state• S3: low latency with loss of all state except memory• S4: lowest-power state with all devices off
• G1: sleeping state• G0: working state
23