chp12 操作系统复习讲义

合集下载

2012操作系统复习大全

2012操作系统复习大全

2012操作系统复习大全2012.6.1概念题操作系统:是一组控制和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合。

多道程序设计:目的是为了进一步提高资源的利用率和系统吞吐量,采用后备队列,用户所提交的作业都先存放在外存上并排成一个队列,作业调度程序按一定算法从后备队列中选择若干个作业调入内存使它们共享CPU和系统中的各种资源。

微内核操作系统:足够小的内核、基于CS模式、应用“机制与策略分离”原理、采用面向对象技术的一种操作系统。

进程:进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。

管程:一个管程定义了一个数据结构和能为并发进程所执行(在该数据结构上)的一组操作,这组操作能同步进程和改变管程中的数据。

原语:由若干条指令组成,完成一定功能的一个过程。

是一种原子操作(Atomic Operation)。

所谓原子操作,是指一个操作中所有动作要么全做,要么全不做。

它是一个不可分割的基本单位,因此在执行过程中不允许被中断。

原子操作在管态下执行,常驻内存。

临界区:每个进程中访问临界资源的那段代码。

死锁:指多个进程在运行过程中因争夺资源而造成的一种僵局,当进程处于这种僵持状态时,若无外力作用,它们都将无法再向前推进。

死锁定理:S为死锁状态的充要条件是:当且仅当S状态的资源分配图是不可完全简化的。

该充要条件称为死锁定理。

虚拟存储器:具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统。

其逻辑容量由内存容量和外存容量之和所决定,其运行速度接近于内存速度,而每位的成本却又接近于外存。

重定位:装入时对目标程序中指令和数据地址的修改过程。

静态重定位:地址变换通常是在装入时一次完成的,以后不再改变的重定位。

动态重定位:地址转换过程是在程序执行期间,随着对每条指令或数据的访问自动进行的,故称为动态重定位。

紧凑:通过移动内存中的作业位置,以把原来多个分散的小分区拼接成一个大分区的方法,也叫“拼接”。

2012山东专升本操作系统讲义(总)n

2012山东专升本操作系统讲义(总)n

第一章操作系统概述第二章进程管理一、进程基本概念二、进程同步第三章处理机的调度与死锁一、处理机调度二、死锁第四章存储器管理第七章 操作系统接口文件管理 系统调用《操作系统》算法总结一、进程(作业)调度算法(p91)⏹先来先服务调度算法(FCFS):每次调度是从就绪队列中,选择一个最先进入就绪队列的进程,把处理器分配给该进程,使之得到执行。

该进程一旦占有了处理器,它就一直运行下去,直到该进程完成或因发生事件而阻塞,才退出处理器。

特点:利于长进程,而不利于短进程。

⏹短进程(作业)优先调度算法(SPF):它是从就绪队列中选择一个估计运行时间最短的进程,将处理器分配给该进程,使之占有处理器并执行,直到该进程完成或因发生事件而阻塞,然后退出处理器,再重新调度。

⏹时间片轮转调度算法:系统将所有的就绪进程按进入就绪队列的先后次序排列。

每次调度时把CPU分配给队首进程,让其执行一个时间片,当时间片用完,由计时器发出时钟中断,调度程序则暂停该进程的执行,使其退出处理器,并将它送到就绪队列的末尾,等待下一轮调度执行。

⏹优先权调度算法:它是从就绪队列中选择一个优先权最高的进程,让其获得处理器并执行。

⏹高响应比优先调度算法:它是从就绪队列中选择一个响应比最高的进程,让其获得处理器执行,直到该进程完成或因等待事件而退出处理器为止。

特点:既照顾了短进程,又考虑了进程到达的先后次序,也不会使长进程长期得不到服务,因此是一个比较全面考虑的算法,但每次进行调度时,都需要对各个进程计算响应比。

所以系统开销很大,比较复杂。

基本概念:作业周转时间(Ti)=完成时间-提交时间作业平均周转时间(T)=周转时间/作业个数作业带权周转时间(Wi)=周转时间/运行时间响应比=(等待时间+运行时间)/运行时间二、存储器连续分配方式中分区分配算法(p123)⏹首次适应分配算法(FF):对空闲分区表记录的要求是按地址递增的顺序排列的,每次分配时,总是从第1条记录开始顺序查找空闲分区表,找到第一个能满足作业长度要求的空闲区,分割这个空闲区,一部分分配给作业,另一部分仍为空闲区。

Chp12第十二章 公司内创业教学案例

Chp12第十二章 公司内创业教学案例

创新的解决方案受到阻碍,浪费资 金 失去竞争优势,市场渗透低 忽视了应当替代假设的事实 目标不可变更、失败成本高 创业家失败和/或创业活动失败 机会丧失 当基本业务受到威胁时放弃创业 对竞争和市场做出错误的决策 激励性低,操作效率低 失去了创新者
11
促进公司创业的策略
提高对各种机会的感知能力; 使变革成为一种制度 ; 逐步向员工灌输希望他们有所创新的想法; 致力于员工想法的投资; 与员工共同承担风险和奖12
复习思考题
1.已存在企业、大公司甚至是非营利组织为什
么十分重视创业? 2.公司创业与个体创业活动存在显著的差异吗? 3.公司创业有哪些形式?你是否还了解其他公司
创业的形式? 4.公司创业所遇到的最大障碍是什么? 5.促进公司创业的主要策略有哪些?
2020/10/10
13
2020/10/10
公司创业活动的主体是在企业内部具有创业精神的组 织成员,他们通常被称为内创业者。
2020/10/10
3
华为公司的内部创业
国内通信业巨头深圳华为,为解决机构庞大和老员工 问题鼓励内部创业,将华为非核心业务与服务业务以 内部创业方式社会化。通过相关政策提供一些资源给 公司的优秀人才,帮助他们走出去创办企业。
2020/10/10
10
第三节 公司创业的障碍及克服
传统管理实践
对公司创业的反作用
执行标准程序以避免错误
根据效率和投资回报率来管理资源 根据计划进行控制 长期计划 从功能上管理 避免使基本业务承担风险的活动 不惜代价保护基本业务 根据以前的经验判断新的步骤 统一的薪酬 提拔能与别人相互协调的个人
2020/10/10
设置系统目标与预算底线 通过竞争压力进行刺激

操作系统复习—操作系统讲义资料文档

操作系统复习—操作系统讲义资料文档

操作系统复习—操作系统讲义资料文档操作系统是计算机系统中最核心的组成部分,它管理着计算机的硬件资源和软件资源,为用户和应用程序提供了一个稳定、高效、安全的运行环境。

对于学习计算机相关专业的同学来说,操作系统是一门非常重要的课程。

为了帮助大家更好地复习操作系统,本文将对操作系统的相关知识进行梳理和总结。

一、操作系统的定义和功能操作系统是一种系统软件,它管理计算机系统的硬件、软件和数据资源,控制程序的执行,为用户提供方便的操作界面和服务。

操作系统的主要功能包括处理器管理、存储器管理、设备管理、文件管理和作业管理。

处理器管理的主要任务是合理地分配处理器时间,提高处理器的利用率。

通过进程和线程的调度算法,操作系统决定哪个进程或线程在什么时候获得处理器的执行权。

存储器管理负责对内存资源进行分配、回收和保护。

虚拟内存技术使得计算机能够运行比实际物理内存更大的程序。

设备管理则是对计算机的输入输出设备进行管理,包括设备的分配、驱动程序的加载和设备的控制。

文件管理用于对计算机中的文件进行组织、存储、检索和保护,提供方便的文件操作接口。

作业管理负责对用户提交的作业进行调度和控制,确保作业能够高效地执行。

二、操作系统的分类根据不同的分类标准,操作系统可以分为多种类型。

常见的分类方式包括按照用户数量分为单用户操作系统和多用户操作系统;按照任务处理方式分为批处理操作系统、分时操作系统和实时操作系统;按照系统架构分为个人计算机操作系统、服务器操作系统和嵌入式操作系统等。

单用户操作系统如Windows 系列中的Windows 7、Windows 10 等,主要为单个用户提供服务。

多用户操作系统则可以同时支持多个用户登录和使用系统,如 Unix、Linux 等。

批处理操作系统适用于需要大量重复处理的作业,它将多个作业按照一定的顺序进行处理,提高了系统的效率。

分时操作系统允许多个用户同时使用计算机,每个用户通过终端与系统进行交互,系统按照时间片轮流为每个用户服务。

812操作系统考试大纲

812操作系统考试大纲

沈阳理工大学硕士研究生入学考试自命题考试大纲科目代码:科目名称:操作系统适用专业:一、考试基本内容第一部分操作系统概论(一)考核目的了解:操作系统的形成和发展;操作系统的功能和特性。

掌握:多道批处理系统、分时系统、实时系统的概念。

重点掌握:多道程序设计的概念。

(二)考核要求识记:操作系统的定义,操作系统四大管理功能。

领会:多道程序设计的原理。

简单应用:多道批处理系统,分时系统,实时系统。

综合应用:通用操作系统,网络操作系统。

(三)考核内容1操作系统概述2操作系统的形成和发展3多道程序设计的概念4操作系统的功能特性5操作系统的类型6操作系统硬件环境7操作系统与其他系统软件的关系8操作系统与人的接口第二部分进程管理(一)考核目的了解:进程的概念;进程的状态及其变化;线程的概念;临界段的概念;进程调度的概念,死锁的概念。

掌握:进程的描述和管理;进程控制;线程的状态和线程的管理;调度的层次和作业调度;死锁的必要条件。

重点掌握:进程的同步和互斥;互斥的软件方法;互斥的硬件方法;信号量及同步原语;生产者消费者问题;阅读者写入者问题;单处理器系统的调度算法;死锁的预防;死锁的避免和银行家算法;。

(二)考核要求识记:进程的概念,线程的概念,死锁的概念。

领会:进程控制原语,调度算法,预防和避免死锁的方法。

简单应用:生产者消费者问题,阅读者写入者问题。

综合应用:单处理器作业/进程调度算法。

(三)考核内容1进程的概念。

2进程的状态。

3进程的描述和管理。

4进程控制。

5线程的概念。

6线程的状态线程管理。

7临界段。

8互斥。

9信号量。

10信号量的同步原语。

11同步原语的不可分割性。

12用信号量实现进程间互斥。

13生产者和消费者问题,阅读者写入者问题。

14多处理器系统。

15对称式多处理器系统。

16调度的层次作业调度。

17单处理器系统的处理器调度。

18死锁问题的提出。

19死锁的必要条件。

20死锁的预防。

第三部分内存管理(一)考核目的了解:实存储器管理技术;虚存储器管理技术。

计算机操作系统第12章ppt课件

计算机操作系统第12章ppt课件
7
第十二章 保 护 和 安 全
3. 层次性 大型系统的安全问题是一个相当复杂的问题,因此必需 采用系统工程的方法解决。为了简化系统安全的复杂性,系 统安全通常采用层次-模块化结构方法: 首先将系统安全问题划分为若干个安全主题(功能模块), 作为最高层;然后再将其中每一个安全主题功能模块分成若 干个安全子功能模块,作为次高层;此后再进一步将一个安 全子功能模块分为若干安全孙功能模块,作为第三层;其最 低一层是一组最小可选择的安全功能模块,用多个层次的安 全功能模块来覆盖整个系统安全的各个方面。
11
第十二章 保 护 和 安 全
12.2 数据加密技术
12.2.1 数据加密原理 加密是一种密写科学,用于把系统中的数据(称为明文)
转换为密文。使攻击者即使截获到被加密的数据,也无法了 解数据的内容,从而有效地保护了系统中信息的安全性。数 据加密技术包括:数据加密、数据解密、数字签名、签名识 别以及数字证明等。
24
第十二章 保 护 和 安 全
2. 数字证明书(Certificate) 虽然可以利用公开密钥方法进行数字签名,但事实上又 无法证明公开密钥的持有者是合法的持有者。为此,必须有 一个大家都信得过的认证机构CA(Certification Authority),由 该机构为公开密钥发放一份公开密钥证明书,该公开密钥证 明书又称为数字证明书,用于证明通信请求者的身份。
28
第十二章 保 护 和 安 全
3. 一次性口令(One time Password) 为了防止口令外泄,用户应当经常改变口令,一种极端 的情况是采用一次性口令机制,即口令被使用一次后就换另 一个口令。在采用该机制时,用户必须给系统提供一张口令 表,其中记录有其使用的口令序列。系统为该表设置一指针, 用于指示下次用户登录时所应使用的口令。

《操作系统基础知识》课件

《操作系统基础知识》课件

分层结构
应用层、传输层、网络层、数 据链路层和物理层。
安全性
提供用户认证、数据加密、流 量控制、入侵防范等安全机制。
安全性和保护机制
安全性和保护机制是操作系统设计的重要考虑因素,用于保护计算机系统的安全和用户的隐私。
1 物理安全
密码锁、指纹识别、门禁防护等。
2 用户认证
口令、单点登录、双因子认证等。
3 数据加密
对称密钥、公钥密码、数字签名等。
适用于多用户的计算机系统, 将处理器和其他资源按照时间 分配给多个用户。
实时系统
适用于对反应时间和可靠性要 求非常高的领域,如军事、航 空和工控等。
分布式系统
适用于多台计算机协同工作的 系统,具有高性能、高可靠性 和可扩展性。
系统资源管理
操作系统需要管理ห้องสมุดไป่ตู้算机系统中各种资源,提供公平的分配和协调不同资源之间的竞争关系。
多级反馈队列调度算法
将进程按照不同的优先级划分 到不同的队列中,并根据历史 运行情况动态调整进程的优先 级和时间片大小。
线程同步与互斥
同步和互斥是多线程编程中重要的概念,用于协调和保护共享资源。
1 同步
线程间的协作,保证同时进行的线程的顺序和互斥。
2 互斥
线程间的保护机制,避免多个线程同时修改共享资源。
实时操作系统
20世纪60年代中期,实时操作系统得 到了广泛应用,主要用于军事、航空 和工控领域。
操作系统的分类和特点
操作系统可以分为批处理系统、分时系统、实时系统、分布式系统和网络操作系统等,各种操作系统有着 不同的特点和适用范围。
批处理系统
适用于大型计算机,在处理大 量批处理任务时效率高。
分时系统

辅导讲义

辅导讲义

操作系统总复习
进程的状态及其转换
操作系统总复习
• 若干个进程可以并发执行,由于中断事件的发生使进 程状态发生变化,因而各进程走走停停地向前推进。 在单中央处理器的系统中,每次最多只有一个进程占 用处理器运行,其余的进程或在等待队列中,或在就 绪队列中,进程调度程序正是通过进程控制块了解和 控制各进程运行。
操作系统总复习
• 存储管理的职能:主存空间的分配和回收;地址转换; 存储共享和保护;如何实现主存空间的扩充---虚拟存 储器。 • 地址转换:逻辑地址和绝对地址 界地址转换:单连续存储、固定分区、可变分区、段 式 A绝 = A相 + B基准地址 页式地址转换:逻辑地址:页号+单元号(页表查块 号) A绝 = A块号 + A单元号 段页式地址转换:段表、页表 逻辑地址:段号+页号+单元号 A绝 = A块号 + A单元号
操作系统总复习
•处理器调度负责动态地把处理器分配给进程。因此,它 又叫分派程序或低级调度。它的主要功能是:记录和保持 系统中所有进程的有关情况及状态特征;决定某个进程什 么时候获得处理器;以及占用多长时间;把处理器分配给 进程; 收回处理器。
• 处理器调度的策略 先来先服务法: 最高优先数法: 时间片轮转法: 分级调度法: 处理器调度程序一般安排在中断处理程序的出口处, 换句话说,人们利用中断机制来激活操作系统;处理器调 度程序使用进程控制块管理和控制各进程的并行运行,让 整个计算机系统各种资源高效、安全、协调和方便地运转
操作系统总复习
• 响应中断时软件的工作: - 保护未被硬件保护的现埸,例如,CPU中通用寄 存器和控制寄存器内容以及被中断进程的PSW等,这些 信息一般保存在被中断进程的进程控制块中; 根据旧PSW中的中断码分析中断原因,找中断源; - 转相应中断处理程序处理该事件; - 恢复正常操作,例如恢复被中断程序的现埸,返回 断点处继续执行原来程序;或者,结来当前运行程序, 重新启动一个新程序(例如Ctrl-C);甚至重启操作 系统(例如Ctrl-Del-End)。

ch12大容量存储器结构 《操作系统概念》课件

ch12大容量存储器结构 《操作系统概念》课件

MS-DOS的磁盘布局
Operating System Concepts – 7th Edition, Feb 8, 2005
6.16
Silberschatz, Galvin and Gagne ©2005
交换空间管理
交换空间 - 虚拟内存使用磁盘空间作为内存的扩充。 交换空间在普通文件系统上加以创建,或在一个独立的磁 盘上进行分区。 交换空间管理
提供比SCAN算法更为均匀的等待时间。 磁头从磁盘一段移到另一端,随着移动不断的处理请求。不 过,当磁头移到另一端时,马上返回到磁盘开始,返回时并 不处理请求。 将柱面当作一个环链,将最后柱面和第一柱面相连。
Operating System Concepts – 7th Edition, Feb 8, 2005
6.10
Silberschatz, Galvin and Gagne ©2005
C-SCAN (Cont.)
Operating System Concepts – 7th Edition, Feb 8, 2005
6.11
Silberschatz, Galvin and Grating System Concepts – 7th Edition, Feb 8, 2005
6.21
Silberschatz, Galvin and Gagne ©2005
RAID的级别
Operating System Concepts – 7th Edition, Feb 8, 2005
可移动磁盘
软盘 - 由薄而灵活的盘片加上磁性涂料和保护性塑料盒所制 成。
大多数软盘只能存储约1MB,但相似技术可用于制造可容纳1GB 的可移动磁盘。 可移动磁盘与硬盘几乎一样,但其记录层更容易因刮擦而受损。

操作系统 设备管理 CCH12

操作系统 设备管理 CCH12

• 又叫适配器,在小型和微型机中,它常采用印刷电路卡插入计算机中(接口)

• 完成设备与主机间的连接和通讯 • 控制器卡上通常有一个插座,通过电缆与设备相连 • 控制器和设备之间的接口是一个标准接口,它符合ANSI、IEEE或ISO这样的
国际标准。
Applied Operating System Concepts
总线型I/O系统结构 12.9
Silberschatz, Galvin, and Gagne 1999
主机I/O系统
因为配置的I/O设备较多,若用一条总线直接与CPU通讯,会使总线和 CPU的负担太重。因此增加一级I/O通道,以替代CPU与各设备控制器进行通 信,实现对它们的控制。
控制器 I/O通道1 计 算 机 I/O通道2 控制器 具有通道的I/O系统结构
Module 12: I/O Systems(I/O系统)
• I/O hardwared(I/O硬件) • Application I/O Interface(应用程序I/O接口) • Kernel I/O Subsystem(核心I/O子系统) • Transforming I/O Requests to Hardware Operations
12.13
Silberschatz, Galvin, and Gagne 1999
设备控制器
(1) 设备控制器的基本功能

• • • • •
接收和识别CPU命令:需控制寄存器(存放接收的命令和参数)、命令译码器 。
数据交换:CPU与控制器之间、控制器与设备之间,需数据寄存器。
标识和报告设备状态:需一状态寄存器。
Applied Operating System Concepts 12.10

ch12_IOSystems 操作系统课件

ch12_IOSystems 操作系统课件
Devices vary in many dimensions(设备变化范围非常大) Character-stream or block(字符流或者块设备) Sequential or random-access(顺序或随机设备) Sharable or dedicated(共享或独占设备) Speed of operation(操作速度的不同) read-write, read only, or write only(读写,只读,只写)
Determines state of device (决定设备的状态) command-ready(等待命令) Busy(忙) Error(错误)
Busy-wait cycle to wait for I/O from device (忙等待循环等待设备的I/O操作)
Applied Operating System Concepts
Based on priority(以优先级为基础) Some unmaskable(某些中断不可屏蔽) Interrupt mechanism also used for exceptions (中断机制也用在异常)
Applied Operating System Concepts
12.8
Interrupt-drive I/O Cycle (中断驱动的I/O循环)
(设备预定—提供对设备的独占访问) System calls for allocation and deallocation (分配和再分配的系统调用) Watch out for deadlock(小心死锁)
Applied Operating System Concepts
12.18
Error Handling(错误处理)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例:
struct felis *ptr; ptr = kmalloc(sizeof(struct felis),
GFP_KERNEL); if (ptr == NULL)
/* Handle error */
gfp_mask标志
Action修饰符
__GFP_WAIT: 分配器可以睡眠 __GFP_HIGH: 分配器可以访问紧急事件缓冲池. __GFP_IO: 分配器可以启动磁盘I/O. __GFP_FS: 分配器能够启动文件系统I/O. __GFP_REPEAT: 失败时重新分配. __GFP_NOFAIL: 失败时一直重新分配,直到成功. __GFP_NORETRY: 分配器不重试.
kfree()
void kfree(const void *ptr)
释放由kmalloc()分配的内存. 每次kmalloc()只能有一次.
例如:
char *buf; buf = kmalloc(BUF_SZ, GFP_KERNEL); if (buf == NULL)
/* deal with error */ /* Do something with buf */ kfree(buf);

区反映了硬件的限制
内存的哪一部分可由DMA访问?
物理地址空间 > 虚地址空间?
i386 体系结构中的Linux区 :

描述
ZONE_DMA
可用于DMA操作的页
ZONE_NORMAL 可用于正常映射
ZONE_HIGHMEM 动态映射的页
物理地址 0-16M 16-896M >896M
分配页
struct page *alloc_pages(mask, order)
alloc_pages().
默认
kmalloc()
不需要连续的页.
vmalloc()
内存管理
ห้องสมุดไป่ตู้
主要内容
1. 物理内存 2. 分配内存 3. Slab分配器
物理页
MMU以页为单位管理内存
32位: 4K 64位:8K
每一个物理页有一个struct page
flags: 脏,加锁等. count: 使用计数,通过page_count()访问 virtual: 虚地址
mem_map数组 相当于物理内 存的一个缩影
分配2order 个连续物理页. 返回一个指针,指向第1个页的page struct,错误时返回
NULL. 转为逻辑地址: page_address(struct page *page)
如果不用page struct,可使用下面函数
__get_free_pages:仅仅返回逻辑地址 alloc_page: 仅分配一页 __get_free_page: 得到一页的逻辑地址 get_zeroed_page: 同上,但清除页的内容.
释放页
• void __free_pages(struct page *page, unsigned int order)
• void freepages(unsigned long addr, unsigned int order)
• void free_page(unsigned int order)
Slab分配器组织
每种对象类型有一个cache. Cache包含一个或多个slab. Slab可能会占有一个或多个连续的内存页.
Slab状态
Full
没有自由的对象.
Partial
部分自由. 从这里分配.
Empty
含有未分配的对象
Slab 算法
1. 为特定的对象类型选择合适的cache.
– 减少了内部碎片.
外碎片
问题
自由的页框分散于整个内存. 如何分配大块的连续页框内存?
解决方法
跟踪连续的页框块,避免将大块连续的页框块变 小.
Zone 分配器
伙伴系统
• 维护11个自由页框链表
– 每个链表包含一组2n 个页框, n=0..10
• 分配k个页框的分配算法
– 从第k个链表分配. – 如果第k个链表不可用,将第(k+1)个链表中的
vmalloc()
void *vmalloc(unsigned long size) 分配虚拟连续的内存. 物理上可能连续也可能不连续. 只有硬件设备需要物理连续.
Slab分配器
一种策略,用于缓存内核对象. Object: 经常使用的数据结构,例如inode Cache: 存储某种类型的对象. Slab: 包含有缓存的对象.
一个一分为二,分配一个,将另一个放在第k个 链表.
• 释放算法大小为 k个页框的块
– 找到其伙伴. – 如果连续则将其合并,放入第k+1个链表;否
则放入第k个链表.
kmalloc()
void *kmalloc(size_t size, int flags)
以字节为单位,而不是页. 返回指向分配的内存的指针. 错误时,返回NULL.
mem_map[]
page0 page1 page2 page3 page4 page5 page6
.....
每个物理页框,使用一个struct page表示,它们组织在mem_map数组中
.........
physical memory
struct page
• struct page {
page_flag_t flags;//页的状态;脏,锁定等 atomic_t _count; //引用计数 atomic_t _mapcount; unsigned long private; struct address_space *mapping; pgoff_t index; struct list_head lru; void *virtual;//页的虚地址 }
2. 从cache中的第一个部分满的slab分配对 象.
– 减少了页的分配和释放.
3. 如果没有部分满的slab, 从空的slab分配. 4. 如果没有空的slab,给cache分配新的
slab.
使用哪种方法分配
频繁分配和释放.
Slab分配器.
需要以页为单位分配内存.
alloc_pages()
从高端内存分配.
Zone修饰符
__GFP_DMA __GFP_HIGHMEM
gfp_mask类型标志
行为修饰符与区修饰符的组合 GFP_ATOMIC: 不能睡眠时使用. GFP_NOIO: 可以阻塞,但不启动io. GFP_NOFS: 用于文件系统中的部分代码. GFP_KERNEL:常规分配,可能阻塞.首选 GFP_USER: 常规分配,可能阻塞. GFP_HIGHUSER: 从高端内存分配,可能阻塞. GFP_DMA: 从DMA区分配.
相关文档
最新文档