【深入理解计算机系统】虚拟地址空间

  虚拟地址空间由大量准确定义的区构成,每个区都有专门的功能,这些区又分为两大部分:内核空间和用户空间。虚拟地址空间的构成如下图所示:
虚拟地址空间

  1. 程序代码和数据:对所有进程来说,代码是从同一固定地址开始的,紧接着的是和全局变量相对应的数据位置。代码和数据区是按照可执行目标文件的内容初始化的。
  2. :代码和数据区后是运行时堆。当使用malloc和free这样的C标准库时,堆可以在运行时动态地扩展和收缩。
  3. 共享库:大约在地址空间的中间部分是一块用来存放像C标准库函数和数学库这样的共享库的代码和数据的区域。
  4. :位于虚拟地址空间顶部,编译器用它来实现函数调用。当调用一个函数时,栈会增长,从一个函数返回时,栈会收缩。
  5. 内核虚拟内存:地址空间的顶部区域是为内核保留的。不允许应用程序读写该区域,或直接调用内核代码定义的函数,必须调用内核来执行这些操作。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
2013计算机等级考试四级网络工程师考试大纲 新的四级网络工程师考试需要考两门课程:四级操作系统原理和四级计算机网络,其考试大纲分别如下: 全国计算机等级考试四级操作系统原理考试大纲(2013年版,其中阳光板公司www.chiancess.com也参加考试) 基本要求 1.掌握操作系统的基本概念、基本结构及运行机制。 2.深入理解进程线程模型,深入理解进程同步机制,深入理解死锁概念及解决方案。 3.掌握存储管理基本概念,掌握分区存储管理方案,深入理解虚拟页式存储管理方案。 4.深入理解文件系统的设计、实现,以及提高文件系统性能的各种方法。 5.了解I/O设备管理的基本概念、I/O软件组成,掌握典型的I/O设备管理技术。 6.了解操作系统的演化过程、新的设计思想和实现技术。 考试内容 一、操作系统概述 1.操作系统基本概念、特征、分类 2.操作系统主要功能 3.操作系统发展演化过程,典型操作系统 4.操作系统结构设计,典型的操作系统结构二、操作系统运行机制 1.内核态与用户态 2.中断与异常 3.系统调用接口 4.存储系统 5.I/O系统 6.时钟(Clock) 三、进程线程模型 1.并发环境与多道程序设计 2.进程的基本概念,进程控制块(PCB) 3.进程状态及状态转换 4.进程控制:创建、撤消、阻塞、唤醒,fork()的使用 5.线程基本概念,线程的实现机制,Pthread线程包的使用 6.进程的同步与互斥:信号量及PV操作,管程 7.进程间通信 8.处理机调度 四、存储管理方案 1.存储管理基本概念,存储管理基本任务 2.分区存储管理方案 3.覆盖技术与交换技术 4.虚存概念与虚拟存储技术 5.虚拟页式存储管理方案五、文件系统设计与实现技术 1.文件的基本概念、文件逻辑结构、文件的物理结构和存取方式 2.文件目录的基本概念,文件目录的实现 3.文件的操作,目录的操作 4.磁盘空间的管理 5.文件系统的可靠性和安全性 6.文件系统的性能问题 7.Windows的文件系统FAT,UNIX的文件系统 六、I/O设备管理 1.设备与设备分类 2.I/O硬件组成 3.I/O软件的特点及结构 4.典型技术:通道技术,缓冲技术,SPOOLing技术 5.I/O性能问题及解决方案 七、死锁 1.基本概念:死锁,活锁,饥饿 2.死锁预防策略 3.死锁避免策略 4.死锁检测与解除 5.资源分配图 基本要求 1.理解计算机网络的基本概念。 2.掌握局域网的基本工作原理。 3. 掌握TCP/IP及其相关协议。 4. 掌握Internet基本服务类型。 5.掌握较为新型的网络技术应用。 6.理解网络管理与网络安全原理。
《深度探索linux操作系统:系统构建和原理解析》是探索linux操作系统原理的里程碑之作,在众多的同类书中独树一帜。它颠覆和摒弃了传统的从阅读linux内核源代码着手学习linux操作系统原理的方式,而是基于实践,以从零开始构建一个完整的linux操作系统的过程为依托,指引读者在实践中去探索操作系统的本质。这种方式的妙处在于,让读者先从宏观上全面认清一个完整的操作系统中都包含哪些组件,各个组件的作用,以及各个组件间的关系,从微观上深入理解系统各个组件的原理,帮助读者达到事半功倍的学习效果,这是作者潜心研究linux操作系统10几年的心得和经验,能避免后来者在学习中再走弯路。此外,本书还对编译链接技术(尤其是动态加载和链接技术)和图形系统进行了原理性的探讨,这部分内容非常珍贵。 全书一共8章:第1章介绍了如何准备工作环境。在第2章中构建了编译工具链,这是后面构建操作系统各个组件的基础。在这一章中,不仅详细讲解了工具链的构建过程,而且还通过对编译链接过程的探讨,深入讨论了工具链的组成及各个组件的作用,理解工具链的工作原理对理解操作系统至关重要。第3~4章,从零开始构建了一个具备用户字符界面的最小操作系统,详细讲解了构建的过程以及涉及的技术细节。第5章从理论的角度探讨了这一过程,从内核的加载、解压一直讨论到用户进程的加载,包括用户空间的动态链接器为加载程序所作的努力。第6~7章首先构建了操作系统的基础图形系统,然后在此基础上构建了桌面环境。第8章深入探讨了计算机图形的基础原理,包含2d和3d程序的渲染、软件渲染、硬件渲染等内容,同时也从操作系统的角度审视了pipeline。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值