- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《操作系统的原理与应用》第9章 linux操作系统概述
操作系统原理Principles of Operating System 主讲:孔宪君 * 第9章 Linux操作系统概述 第9章 Linux操作系统概述 9.1 Linux的概述 9.2 Linux的体系结构 9.3 Linux中的进程管理 9.4 Linux的存储管理 9.5 Linux设备管理 9.6 Linux的文件系统 9.1 Linux的概述 9.1.1 GNU、FSF、开放源码 1984年理查德·斯塔尔曼(Richard M.Stallman)首先开创了自由软件体系(GNU),GNU旨在发展一个类UNIX的完整操作系统,各种使用Linux作为内核的GNU操作系统正被广泛地使用着,实际上它们更精确的称呼应该是GNU/Linux系统。 通用公共许可GPL(General Public License)是GNU工程所要遵循的规则,按照这一规则,自由软件允许用户自由拷贝、修改和销售,但是对其源代码的任何修改都必须向所有用户公开。所有人可以自由地占有自由软件,所有人为自由软件所做出的成果必须和其它人共享。 9.1.2 Linux的产业格局 Linux的应用领域很广,如教育领域、网络服务器领域、企业Intranet、视频制作领域等,整个Linux的产业环境由三部分组成: ①桌面Linux产业链 ②服务器Linux产业链 ③嵌入式Linux产业链 9.2 Linux的体系结构 9.2.1 Linux的特点 ①开放性 ②多用户、多任务 ③良好的用户界面 ④可靠的系统安全 ⑤良好的可移植性 ⑥Linux支持UNIX的全部功能 ⑦具有强大的网络功能 ⑧Linux可以支持各种类型的文件系统,支持广泛的硬件。 9.2.2 Linux的体系结构 从程序角度看,将操作系统的代码分成两部分。内核是操作系统的内部核心程序,它向外部提供了对计算机设备的核心管理调用。而内核以外的统称为外部管理程序,它们大部分是对外围设备的管理和界面操作。通常,一个程序会跨越这两个部分。当执行到内核部分时,称程序处于内核态,其它称程序处于用户态。 一个完整的操作系统主要由四部分组成:硬件、操作系统内核、函数库和用户应用程序。 9.2.2 Linux的体系结构 9.2.3 Linux内核组成 内核是操作系统的灵魂,内核负责维护操作系统的核心功能?,包括进程调度、进程通信、虚拟内存、文件系统、网络支持等。所有的内核代码都在处理器的特许模式下运行,并能访问计算机的所有物理资源,Linux称这个特权模式为内核模式(kernel mode)。 ? 9.2.3 Linux内核组成 Linux内核主要由以下几个子系统组成: ⑴进程调度(SCHED) 进程调度模块控制着进程对CPU访问,Linux使用了比较简单的基于优先级的进程调度算法选择新的进程,保证各进程能够公平合理地访问CPU。 ⑵内存管理(MM) 内存管理子系统允许多个进程共享内存区域,Linux的内存管理支持请求分页存储管理,操作系统只将当前执行的进程页保留在内存中,其余的进程页则保留在磁盘上。必要时,操作系统负责在磁盘和内存之间交换进程页。 9.2.3 Linux内核组成 ⑶虚拟文件系统(VFS) Linux VFS隐藏了各种不同硬件的具体细节,为所有设备和文件各提供了统一的接口,Linux VFS支持多达数十种不同的文件系统。 ⑷输入/输出子系统 输入/输出子系统与硬件物理设备密切相关,主要包括了设备驱动程序和各种设备的中断服务程序。 ⑸进程通信(IPC)机制 IPC子系统支持在单个Linux系统中多种进程间通信机制,如信号、管道和共享内存等。 ⑹网络子系统 网络子系统提供了对各种网络标准协议和各种网络硬件的支持。 9.3 Linux中的进程管理 9.3.1 Linux的进程 Linux是一个多任务的操作系统,每一个进程都有一定功能和权限,运行在自己的虚拟地址空间中。Linux通过进程调度程序在多个进程之间实现合理的调度,在Linux系统中,进程与任务是相同的概念。 9.3.2 Linux的进程运行状态 Linux的进程共有五种调度状态 运行状态。进程已经占有CPU,正在执行,或者正处于执行队列中,等待着系统的进程调度程序schedule()将CPU分配给它。 进程可中断的等待态。这是进程因等待某一个事件或某种资源,而加入等待队列(wait_queue),等待资源有效时被唤醒。 进程不可中断的等待态。进程此时正因为硬件环境不能满足而等待,处于等待队列中。
原创力文档


文档评论(0)