网站大量收购独家精品文档,联系QQ:2885784924

第八篇_linux_系统内核.ppt

  1. 1、本文档共74页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第八章 linux 系统内核结构 在前面的章节中,我们着重介绍了操作系统的基本概念,基本功能和实现方法。为了使大家能够对操作系统有一个更好的理解,这一章将以目前十分流行的Linux系统为例,向大家介绍这一典型的操作系统的内核结构。本章主要介绍Linux的发展历史,Linux进程管理、Linux 存储管理、Linux 文件管理、Linux 设备管理的基本原理。 本章主要内容 8.1 Linux 概述 8.2 Linux 的进程管理 8.3 Linux的进程通信 8.4 Linux存储管理 8.5 Linux文件管理 8.6 Linux的设备管理 8.1 Linux 概述 Linux是一个可以运行于多种硬件平台,支持多种系统软件和应用软件,与Windows,Mac OS、UNIX有着相同性质的功能强大的操作系统。在这些操作系统中,Windows在文字处理及一般任务的处理上有着非常大的优势;Mac OS具有优良的人机界面,并在美术设计及桌面排版处理上有着非常大的优势;而Linux目前在服务器的工作上具有强大的功能和越来越重要的地位,除此之外,Linux还被广泛的运用在嵌入式系统中,这些应用包括IBM 的微型 Linux 腕表、手持设备(PDA 和蜂窝电话)、工业机器人等。Linux还有一个非常重要的优越性,即它是一个源代码公开,可以免费获得的自由软件。 8.1.2 Linux 系统的优点和缺点 1.Linux的优点 (1)完全免费 (2)多用户、多任务 (3)良好的界面   (4)丰富的网络功能   (5)可靠的安全、稳定性能 (6)支持多种平台 Linux的不足 使得一些软件无法正常运行 许多硬件设备面对Linux的驱动程序不足 软件支持的不足是Linux最大的缺憾 8.1.3 linux 内核的特征 (1)内部结构简单,内核工作效率高。 (2)模块式结构,易于扩充。 (3)进程调度方式简单而有效。 (4)多种形式的虚存管理技术。 (5)为多种文件系统提供了一个统一的虚拟文件系统(VFS)接口,从而支持多种文件系统,并为各种硬件设备也提供了统一的接口。 (6)面向对象的网络设计,支持多种协议、网卡,有强大的网络功能。 8.1.4 linux 内核的抽象结构 Linux内核由5个主要的子系统组成 (1)进程调度(SCHED)子系统控制着进程对CPU的访问。 (2)内存管理(MM)子系统允许多个进程安全的共享主内存区域。 (3)虚拟文件系统(Virtual File System,VFS)隐藏了各种不同硬件的具体细节,为所有设备提供了统一的接口,VFS还支持多达数十种不同的文件系统,这也是Linux较有特色的一部分。 (4)网络接口(NET)子系统提供了对各种网络标准的存取和各种网络硬件的支持。 (5)进程间通信(IPC)子系统支持进程间各种通信机制。 各子系统之间的依赖关系如下: (1)进程调度与内存管理之间的关系 (2)通信与内存管理的关系 (3)虚拟文件系统与网络接口之间的关系 (4)内存管理与虚拟文件系统之间的关系 8.2 Linux 的进程管理 8.2.1 Linux 进程概念与描述 概 念: 进程是一个程序的一次执行的过程,进程是系统资源管理的最小单位。 在Linux 系统中,进程仍是最小的调度单位。 在操作系统中,每个进程在创建时都会被分配一个数据结构,称为进程控制块(PCB) Linux中的进程控制块是一个名叫task_struct的数据结构 8.2.2 Linux 中的进程状态及其转换 Linux中进程有六种状态 (1)可运行状态(TASK_RUNNING) (2)可中断阻塞状态(TASK_INTERRUPTIBLE) (3)不可中断阻塞状态(TASK_UNINTERRUPTIBLE) (4)僵死状态(TASK_ZOMBLE) (5)暂停状态(TASK_STOPPED) (6)交换状态(TASK_SWAPPING) 8.2.3 Linux中的进程调度 1.调度的时机 2.进程调度的算法 3.就绪(可运行)队列 4.进程的可运行度量函数 5.调度程序所做的工作(schedule) 8.2.4 Linux的进程控制 进程的建立 fork()的语法格式是: pid=fork(); 看下面一段程序: /* fork_test.c */ #includesys/types.h

您可能关注的文档

文档评论(0)

xiaofei2001129 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档