1. Processes and Threads
2. Development of mobile phone operating system
3. Address space boundaries for processes
4. Security fence at the process boundary: crash non-ductile
5. Secure fencing of process boundaries: global data and service accessibility
Http://www.jikexueyuan.com/course/25.html
---------------------------------
1. Processes and Threads
Executable file: is a file, inactive is a normal file, binary
Process: The running of the executable file, run once.
Threads: CPU (CORE) dispatch units, internal concurrent task scheduling of processes
Concurrency of single-core CPUs: pseudo-concurrency, time-Slice scheduling
Concurrency of multicore CPUs: Real concurrency in physical sense
Resources and Scheduling: a process is the basic allocation unit of a resource, a separate address space, a heap, a stack
Threads: No separate address space, only stand-alone stack, and independent time-slice scheduling
2. Development of mobile phone operating system
Feature Phone era: a single-process multi-tasking (thread) non-intelligent system, a thread is an application. Closed, the application can only be extended by J2ME
Smart phone era: Multi-process multi-tasking intelligent system, open, extensible application
3. Address space boundaries for processes
Physical memory: A fixed piece of memory, as in the bottom
Each process has 0~4g virtual memory (address space), where 3~4g addresses are mapped to the same block of physical memory (this memory is kernel SAPCE)
0~3G (head, stack,..) The physical address of the map is independent, not the same (but not necessarily sequential)
4. Security fence at the process boundary: crash non-ductile
The independent benefits of address space
the crash of a process does not result in the crash of other processes or systems .
Anr:ui block time is too long
Force Close: Process terminated unexpectedly
Kernel Crash or Filesystem Crash then the entire OS Crash, with a widening. Phone blue screen or restart
Much better than Feature phone, Feature phone an application crash the entire system crash
5. Secure fencing of process boundaries: global data and service accessibility
The address space of each application 0~3g is independent,
Other application even if they know the address of the current app, other apps can't read it because the app address maps to different physical memory
Linux process and process boundaries