网站首页 软件下载 游戏下载 翻译软件 电子书下载 电影下载 电视剧下载 教程攻略
书名 | 操作系统原理 |
分类 | 教育考试-大中专教材-大学教材 |
作者 | 何静媛 |
出版社 | 西安电子科技大学出版社 |
下载 | ![]() |
简介 | 内容推荐 本书在详细介绍操作系统发展历史的基础上,系统地阐述了传统操作系统五大基本功能的实现原理、所需的结构和主要涉及的技术,具体包括用户接口、进程与处理器管理、内存管理、I/O系统管理和文件系统等内容。全书共12章,前11章每章的最后一节对Linux操作系统的内核进行了详细剖析,第12章引入了国产优秀操作系统华为EulerOS的基础内容,目的在于使读者通过本书的学习,能够对一个完整的操作系统的整体框架结构和工作原理有比较透彻的了解,为以后在开源操作系统内核中进行开发打下基础。本书每章章末都有小结和习题。附录部分提供了课程配套的实验指导书。本书可作为计算机类专业本科生的教材,还可供计算机及相关专业从业人员参考。 目录 第一篇操作系统基本原理 第1章绪论2 1.1操作系统的定义2 1.2操作系统的功能4 1.2.1处理器管理4 1.2.2存储器管理5 1.2.3设备管理6 1.2.4文件管理7 1.2.5用户接口8 1.3操作系统的发展历史10 1.3.1无操作系统阶段11 1.3.2监督程序阶段13 1.3.3多道程序系统14 1.3.4快速发展阶段15 1.4Linux系统简介19 1.4.1Linux发展历史19 1.4.2Linux内核版本22 1.4.3Linux内核构架22 1.4.4Linux内核开发的特点24 1.4.5Linux内核中GNUC和标准C的区别25 1.4.6Linux内核中常用的数据结构和算法29 小结36 习题37 第2章操作系统的结构38 2.1操作系统接口39 2.1.1命令接口基本概念39 2.1.2Linux的命令接口39 2.2系统调用41 2.2.1系统调用的基本原理41 2.2.2系统调用与API的关系43 2.2.3系统调用的工作过程43 2.3操作系统结构44 2.3.1整体式结构44 2.3.2层次式结构44 2.3.3微内核45 2.3.4模块化结构46 2.4虚拟机47 2.4.1虚拟机的实现原理47 2.4.2虚拟机的主要实例49 2.5Linux系统调用50 2.5.1Linux系统调用的原理50 2.5.2Linux上的系统调用实现过程51 2.5.3系统调用的实例分析53 2.5.4一个简单的系统调用的实现54 2.6Linux模块的实现机制及其管理55 小结57 习题57 第3章进程与线程58 3.1进程基础58 3.1.1程序的顺序执行和并发执行58 3.1.2进程的定义与特征59 3.1.3进程的状态及其转换61 3.2进程控制63 3.2.1进程的执行模式63 3.2.2进程切换63 3.2.3进程的创建与终止64 3.3线程68 3.3.1线程的引入68 3.3.2线程与进程的比较69 3.3.3用户级线程与内核级线程70 3.3.4线程库71 3.4进程与线程比较举例75 3.5与进程或线程相关的其他技术77 3.5.1写时复制77 3.5.2线程池79 3.5.3进程间的远程通信79 3.6Linux系统中的进程与线程86 3.6.1Linux进程简介86 3.6.2进程状态及转换86 3.6.3Linux进程控制89 3.6.4Linux中的线程93 小结97 习题98 第4章进程同步99 4.1进程的互斥99 4.1.1临界资源和临界区99 4.1.2使用硬件实现互斥101 4.1.3信号量实现互斥103 4.2进程的同步106 4.2.1信号量与同步106 4.2.2生产者/消费者问题108 4.2.3读者/写者问题109 4.2.4信号量机制的其他应用110 4.3进程之间的通信113 4.3.1共享内存方式113 4.3.2管道通信114 4.3.3消息传递通信116 4.4管程119 4.4.1管程的概念119 4.4.2使用管程解决生产者-消费者问题122 4.5Linux内核同步机制123 4.5.1原子操作124 4.5.2per-CPU变量125 4.5.3自旋锁125 4.5.4读写自旋锁127 4.5.5信号量128 4.5.6互斥体130 4.5.7顺序锁130 4.5.8内存屏障132 小结133 习题135 第5章死锁137 5.1死锁的原理137 5.1.1资源分配图137 5.1.2死锁的条件138 5.2死锁的处理方法139 5.2.1死锁的预防139 5.2.2死锁的避免141 5.2.3死锁的检测145 5.3死锁的解除146 5.4经典死锁问题——哲学家进餐问题147 5.5Linux操作系统中的死锁解决方案149 5.5.1D状态死锁149 5.5.2R状态死锁150 小结151 习题152 第6章处理器调度154 6.1处理器调度算法的目标154 6.2分级调度155 6.2.1长程调度155 6.2.2中程调度155 6.2.3短程调度156 6.3常用的调度算法156 6.3.1先来先服务调度算法156 6.3.2优先级调度算法157 6.3.3最短作业优先调度算法158 6.3.4优选响应比优先调度算法160 6.3.5轮转调度算法161 6.3.6多级反馈轮转调度算法162 6.3.7实时系统的调度算法162 6.4多处理器调度165 6.4.1多处理器调度原理165 6.4.2处理器亲和性166 6.4.3负载均衡166 6.5Linux系统的进程调度167 6.5.1Linux调度器的简史167 6.5.2Linux进程调度的优先级表示168 6.5.3Linux内核调度策略169 6.5.4CFS调度算法171 6.5.5实时调度策略173 小结173 习题174 第7章内存管理177 7.1内存相关基本概念177 7.1.1什么是内存177 7.1.2指令运行的原理177 7.1.3地址重定位178 7.1.4程序链接179 7.2内存的覆盖与交换180 7.2.1内存覆盖180 7.2.2内存交换181 7.3内存空间连续分配方案182 7.3.1单一连续分配182 7.3.2固定分区分配182 7.3.3动态分区分配184 7.4分页存储管理187 7.4.1分页存储管理的基本思想187 7.4.2地址变换机构189 7.4.3两级或多级页表191 7.4.4页的共享192 7.5段式存储管理193 7.5.1段式存储管理的基本思想193 7.5.2段式存储管理的地址转换193 7.5.3段的共享194 7.6段页式存储管理196 7.7存储保护的实现197 7.8虚拟存储技术198 7.8.1请求分页存储管理199 7.8.2页面置换算法201 7.8.3页面缓冲算法205 7.8.4页帧分配算法205 7.8.5页帧分配策略206 7.9Linux系统内存管理208 7.9.1Linux进程地址空间208 7.9.2物理内存管理210 7.9.3Linux内核高端内存213 7.9.4进程用户空间管理215 小结227 习题228 第8章文件系统230 8.1文件和文件系统230 8.1.1文件230 8.1.2文件系统层次结构231 8.2文件的逻辑结构233 8.2.1堆结构文件233 8.2.2顺序结构文件234 8.2.3散列结构文件234 8.2.4文件的读写方式236 8.3文件的物理结构与组织238 8.3.1磁盘的成组与分解238 8.3.2连续文件239 8.3.3链接文件240 8.3.4索引文件241 8.4目录管理243 8.4.1文件控制块243 8.4.2文件目录243 8.4.3目录结构244 8.5空闲空间的管理246 8.5.1位示图246 8.5.2空闲块列表247 8.5.3空闲链表法247 8.6文件的存取控制249 8.6.1文件共享249 8.6.2文件保护251 8.7文件系统的其他功能253 8.7.1文件系统调用的实现253 8.7.2虚拟文件系统255 8.8Linux文件系统255 8.8.1Linux支持的常见文件系统256 8.8.2VFS中的数据结构256 8.8.3文件系统相关的数据结构265 8.8.4和进程相关的数据结构267 小结269 习题270 第9章I/O系统271 9.1I/O系统概述271 9.2I/O设备与控制器272 9.2.1I/O设备的分类272 9.2.2设备控制器的结构273 9.2.3设备控制器的I/O端口273 9.2.4设备控制器的基本功能274 9.3设备数据传输控制方法275 9.3.1轮询方式275 9.3.2中断控制方式276 9.3.3DMA方式277 9.3.4通道方式278 9.4缓冲技术279 9.4.1缓冲区的引入279 9.4.2缓冲区的分类280 9.4.3缓冲技术的种类281 9.4.4虚拟设备的实现283 9.5设备的分配284 9.5.1设备分配的原则284 9.5.2设备分配相关的技术285 9.5.3设备分配相关的数据结构286 9.6I/O相关软件287 9.6.1I/O软件的基本概念287 9.6.2中断服务程序288 9.6.3设备驱动程序290 9.6.4设备独立性软件290 9.6.5用户层I/O软件291 9.7Linux系统I/O相关技术291 9.7.1Linux系统设备及驱动程序简介291 9.7.2Linux系统支持的I/O数据传输方式295 9.7.3I/O相关重要数据结构296 9.7.4Linux系统中断处理机制300 小结307 习题308 第10章大容量存储器309 10.1大容量存储器简介309 10.1.1硬盘309 10.1.2光盘311 10.1.3磁带312 10.2磁盘基础知识313 10.2.1磁盘结构313 10.2.2磁盘工作原理314 10.2.3磁盘读写原理315 10.3磁盘调度316 10.3.1FCFS调度算法317 10.3.2SSTF调度算法317 10.3.3SCAN调度算法318 10.3.4C-SCAN调度算法319 10.3.5LOOK调度算法320 10.3.6磁盘调度算法的选择320 10.4磁盘初始化321 10.5初始引导321 10.5.1引导相关概念321 10.5.2初始引导过程323 10.6网络存储技术325 10.6.1直接连接存储325 10.6.2网络附加存储326 10.6.3存储区域网络327 10.6.4新的网络存储技术IP-SAN327 10.6.5云存储328 10.7Linux磁盘调度算法329 10.7.1NOOP调度算法329 10.7.2CFQ调度算法330 10.7.3DEADLINE调度算法330 10.7.4ANTICIPATORY调度算法331 小结331 习题332 第11章系统安全334 11.1系统安全的定义334 11.1.1安全需求334 11.1.2安全层次336 11.1.3安全问题337 11.2系统威胁的分类339 11.2.1系统漏洞339 11.2.2恶意代码340 11.2.3端口扫描威胁343 11.3系统安全防御343 11.3.1密码术343 11.3.2用户验证347 11.3.3安全策略348 11.3.4入侵检测349 11.3.5病毒防护351 11.3.6审计、会计和日志351 11.3.7防火墙352 11.4Linux安全基础354 11.4.1Linux安全模块354 11.4.2Linux权限系统355 小结358 习题358 第二篇国产操作系统实例 第12章EulerOS操作系统360 12.1EulerOS系统概述360 12.1.1EulerOS系统的特点360 12.1.2系统架构362 12.1.3典型应用场景362 12.2EulerOS系统的相关术语364 12.2.1虚拟机和容器364 12.2.2STaaS解决方案365 12.3EulerOS系统的架构支持366 12.4EulerOS系统的主要软件支持368 12.4.1虚拟化平台368 12.4.2数据库服务369 12.4.3分布式服务370 12.4.4其他软件370 12.5EulerOS系统功能特性371 12.5.1系统管理371 12.5.2网络374 12.5.3内存管理375 12.5.4处理器调度375 12.5.5调测运维376 12.5.6性能/开关说明377 12.6容器的介绍378 12.6.1iSula自研容器378 12.6.2容器存储Elara379 12.6.3云核IVS场景381 12.7安全的管理382 附录AEulerOS系统部分接口384 附录BLinux常用命令385 附录C操作系统实验指导书386 参考文献388 |
随便看 |
|
霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。