Linux操作系统之内存管理

本文深入探讨了程序的运行过程,包括代码和数据如何加载到内存以及CPU的执行流程。重点讲解了进程管理,阐述了进程控制块(PCB)的作用和进程状态转换。此外,还介绍了计算机基本组成中的总线概念,并概述了物理内存和虚拟内存的区别及映射关系。
摘要由CSDN通过智能技术生成

一、程序运行过程

1)例如main.c中的代码与数据,通过编译链接过程,将代码段(.text)与数据段(.data)加载到内存中(主存中)

2)CPU(控制器)从主存中取指令 在执行

3)执行完当前指令,继续执行下一条指令,循环往复

二、回顾上节知识点(刷新缓冲区)

1)缓冲区已满,将缓冲区数据刷新到屏幕

2)进程结束前,刷新(main:return;exit)
exit:刷新缓冲区+结束程序(_exit)

3) 强制刷新缓冲区:‘\n’ 或 fflush(stdout)

三、计算机基本组成

输入和输出设备、运算器、存储器、控制器(了解)

在这里插入图片描述
总线:分为地址总线(在计算机内主要体现的是寻址能力,例如:x86操作系统为2^32 -> 4G,地址总线为32)、数据总线、控制总线
在这里插入图片描述
在这里插入图片描述

四、进程管理(重点)

1)进程定义:当某个程序运行时,就让将其从硬盘调入内存中,以供CPU运算和处理,这些正在运行的程序就称进程
2)程序只占磁盘空间,不占系统运行资源
3)进程是操作系统资源分配和调度的基本单位

1、PCB进程控制块

PCB : 即是进程控制块(Processing Control Block),是进程存在的唯一标志。用来

描述进程的属性信息。OS是根据PCB来对并发执行的进程进行控制和管理的。进程

是操作系统资源分配和调度的基本单位。

在这里插入图片描述
产生:先有PCB产生,再产生进程实体
消失:先消失进程实体,在结束PCB

2、进程状态转移图

在这里插入图片描述

五、虚拟内存与物理内存

1、什么是物理内存?

注意:物理内存并不是越大越好,也和计算机地址总线的寻址能力有关

在这里插入图片描述

2、什么是虚拟内存?

在这里插入图片描述

重点:物理内存和虚拟内存都是有4G空间的,只不过虚拟内存为我们设想的一片内存区域,而物理内存是程序真正运行起来的运行内存,它们之间存在虚拟内存向物理内存映射的关系

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

淡蓝色的经典

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值