- Mastering Linux Kernel Development
- Raghu Bharadwaj
- 219字
- 2021-07-08 09:47:12
Processes
Quintessentially, computing systems are designed, developed, and often tweaked for running user applications efficiently. Every element that goes into a computing platform is intended to enable effective and efficient ways for running applications. In other words, computing systems exist to run diverse application programs. Applications can run either as firmware in dedicated devices or as a "process" in systems driven by system software (operating systems).
At its core, a process is a running instance of a program in memory. The transformation from a program to a process happens when the program (on disk) is fetched into memory for execution.
A program’s binary image carries code (with all its binary instructions) and data (with all global data), which are mapped to distinct regions of memory with appropriate access permissions (read, write, and execute). Apart from code and data, a process is assigned additional memory regions called stack (for allocation of function call frames with auto variables and function arguments) and heap for dynamic allocations at runtime.
Multiple instances of the same program can exist with their respective memory allocations. For instance, for a web browser with multiple open tabs (running simultaneous browsing sessions), each tab is considered a process instance by the kernel, with unique memory allocations.
The following figure represents the layout of processes in memory:

- Java加密與解密的藝術(shù)(第2版)
- 面向STEM的Scratch創(chuàng)新課程
- 新手學(xué)Visual C# 2008程序設(shè)計(jì)
- PLC編程及應(yīng)用實(shí)戰(zhàn)
- HTML5入門經(jīng)典
- 數(shù)據(jù)結(jié)構(gòu)案例教程(C/C++版)
- Learning jQuery(Fourth Edition)
- Oracle實(shí)用教程
- 從程序員角度學(xué)習(xí)數(shù)據(jù)庫技術(shù)(藍(lán)橋杯軟件大賽培訓(xùn)教材-Java方向)
- Python預(yù)測(cè)分析與機(jī)器學(xué)習(xí)
- 你真的會(huì)寫代碼嗎
- Offer來了:Java面試核心知識(shí)點(diǎn)精講(框架篇)
- Mapping with ArcGIS Pro
- Natural Language Processing with Python Cookbook
- 區(qū)塊鏈技術(shù)與智能服務(wù)應(yīng)用