Linux内核复习.docx

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux内核复习

Linux内核复习资料内核:操作系统核心,其组成:中断服务程序:负责响应中断调度程序:负责管理多个进程分享处理器时间内存管理程序:负责管理进程地址空间系统服务程序:负责管理网络、进程间通信内核空间:内核处于系统态,拥有受保护的内存空间和访问硬件设备的所有权限,这种系统态和被保护起来的内存空间,统称为内核空间。用户空间:应用程序在用户空间执行,只能使用部分系统及特定的系统功能,不能直接访问硬件、内核划分给别人的内存范围。应用程序、内核和硬件 应用程序通过系统调用与内核通信:应用程序与内核通信:系统调用系统调用:应用程序用来与内核通信的接口。应用程序通常通过调用库函数,再由库函数通过系统调用,让内核代其完成各种不同的任务。应用程序被称为通过系统调用在内核空间运行,而内核被称为运行于进程上下文中。Linux内核和传统Unix内核的比较单内核和微内核单内核:把它从整体上作为一个单独的大过程来实现,同时也运行在一个单独的地址空间上。可直接调用函数,大多unix基于单内核Linux,Unix和Window比较微内核:功能被划分为多个独立的过程,每个过程叫做一个服务器。所有服务器独立运行在各自的地址空间上。通过消息传递处理微内核通信,系统采用了进程间通信(IPC),Windows NT基于微内核 辨析 Linux是单内核,内核运行于单独的内核地址空间上。但借鉴微内核,采用模块化设计、抢占式内核、支持内核线程及动态装载内核模块的能力,所有事情都运行在内核态,直接调用函数,无需消息传递。Linux与Unix的差异:Linux动态加载内核模:块动态卸除和加载部分内核代码Linux支持对称多处理(SMP)机制Linux内核支持抢占:允许在内核运行的任务优先执行的能力,Unix里只有Solaris和IRIX支持抢占支持线程,但不区分线程和进程Linux提供具有设备类的面向对象的设备模型、热插拔事件及用户的设备文件系统(sysfs)忽略Unix的某些拙劣特性自由Linux内核版本Linux内核分为:稳定和处于开发中的从版本号为偶数时,代表内核为稳定版;为奇数时,为开发版。例:2.6.30.1,其从版本号为6,则为稳定版。第三章 Linux进程管理进程及作业的概念多用户、多任务。根据每个任务的优先级为每个任务分配时间片Linux系统上所有运行的内容都可以称为进程,我们关心的是如何去控制这些进程进程与程序,程序静态命令集,进程是动态运行的程序。一个程序可以启动多个进程进程分为哪几个类型Linux操作系统包括三种不同类型的进程,每种进程都有自己的特点和属性:交互进程:由shell启动的进程,既可在前台运行,又可在后台运行批处理进程:这种进程和终端没有联系,是一个进程序列。守护进程:在后台持续运行的进程。前后台辨析前台:指一个进程控制标准输入和输出。后台:一个程序不从标准输入接受输入,也不将结果输出到标准输出上,不经用户干预的程序适合运行在后台。进程与作业:一个正在执行的进程称为一个作业,而作业可以包含一个或多个进程,尤其是在使用了管道和重定向命令时。结束进程前台进程 Ctrl+c后台进程 kill命令使用ps命令查看PIDkill PIDkill -9 PID 无条件地撤销一个进程进程线程区别进程:处于执行期的程序。包含:可执行的程序代码、打开的文件、挂起的信号、内核内部数据、处理器状态、内存地址空间、一个或多个执行的线程、存放全局变量的数据段。进程的另一个名字叫任务(task)线程(thread):在进程中活动的对象。每个线程拥有一个独立的程序计数器、进程栈和一组进程寄存器。内核调度的对象是线程,而不是进程。Linux系统不区分进程和线程,线程只是一种特殊的进程。进程的创建:fork()进程的终结:exit()进程描述符及任务结构内核把进程的列表存放在叫做任务队列的双向循环链表中。链表中的每一项都是类型为task_struct、称为进程描述符(process descriptor)的结构(linux/sched.h)。进程描述符中包含一个具体进程的所有信息:打开的文件、进程的地址空间、挂起的状态等进程描述符的存放(描述符及功能,辨析的话问是否可以改动)内核通过一个唯一的进程标识值(process identification value)或PID来标识每个进程。PID是一个数,表示为pid_t隐含类型,即int。为与老版本兼容,默认最大值、为32768,实际可增加到400万,但这个值越小,转一圈就越快。可通过修改/proc/sys/kernel/pid_max来提高上限。 进程家族树所有的进程都是PID为1的init进程的后代,内核在系统启动的最后阶段启动init进程,该进程读取系统的初始化脚本并执行其他的相关程序,最终完成系统启动的整个过程。 除了in

文档评论(0)

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

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

1亿VIP精品文档

相关文档