linux期末总结.docxVIP

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
linux期末总结

下面总结针对老师上课时勾画的重点,仅供参考。时间有限,总结的比较仓促,大家发现有什么错误或者有需要补充的可以Q我,或者在群里给出补充和修改内容。大家应该以书本为重。第1,2章 内核简介和从内核出发linux内核与windows内核差异答:操作系统内核可以分为两大阵营:单内核和微内核(第三阵营是外内核,主要用在科研系统中,不做讨论)单内核:把内核从整体上作为一个单独的大过程来实现,同时也运行在一个单独的地址空间。微内核:微内核并不作为一个单独的大过程来实现,相反,微内核的功能被划分成多个独立的过程,每个过程叫做一个服务器。(详细见中文版6页)Linux是单内核,windows是微内核。差异分析大家自己看着办,从6页自己选择性填写。内核版本表示,各个位置上数的代表含义答:linux内核有两种:稳定和处于开发中的。上图中:第一个数字是版本号,第二个数字是从版本号,第三个数字是修订版本号,第四个数字可选,表示稳定的版本号。从第二个数字的奇偶性可以判别该内核是稳定版还是开发版,奇数表示开发版,偶数表示稳定版。6表示是稳定版,而该稳定版本号是1.内核编译,编译完成后生成的镜像文件名称答:linux实验课不止一次用到内核编译,在这我简单说明下:先到官网下载一个linux版本的源代码,tar 命令解压,如tar xvjf linux-x.y.z.bz2.各参数含义:-x:解压,-v:显示所有过程,-j:有bz2属性的,-f:使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。解压后进入相应解压文件目录,进行编译前的相关配置及清理工作。使用一种内核编译方法,其中自动精简内核编译配置make localmodconfig适合于新手。开始编译 sudo make-kpkg clean ; make-kpkg --initrd --append-to-version=-xxx kernel_image。-xxx是自己取得一个名字。编译完成,cd ..退到上以及目录执行sudo dpkg -i linux-image-2.6.34.11-xxx_i386.deb(镜像文件名称) ,安装生成的镜像文件。之后的配置grub开机启动项在此不赘述,有兴趣自行了解(主要有两个参数,default:决定grub引导时光标默认停留的引导标签位置,timeout:停留在引导标签页的时间)Linux是单内核,内核运行在单独的内核空间地址上。我当时记到的是执行时,内核全部载入。不过觉得有问题,书上说的是linux汲取微内核精华,支持动态装载内核模块,允许在需要的时刻动态地卸除和加载部分内核代码,大家自己判断。堆栈大小:用户空间和内核空间对应各自的栈,其中用户空间堆栈较大,且能动态增长。内核栈的准确大小随体系结构而变。在X86上,栈的大小在编译时配置。在32位机上,内核栈是2页,对应8KB;在64位机上。内核栈也是2页,对应16KB。第3章 进程管理1. 每个进程对应的PCB及task-struct内核把进程列表存放在叫做任务队列的双向循链表中,链表中的每一个项都是一个task-struct结构。Linux通过slab高速缓存层分配器分配task-struct结构,达到对象复用和缓存着色的目的。注意一下在内核栈中用struct thread_info结构来指向进程描述符,即指向struct task_struct 结构。每个任务的thread_info 结构在它的内核栈的尾端分配。结构中的task域中存放的是指向该任务实际task_struct的指针。2.线程和进程的关系,fork(),clone()函数的用法及差别进程就是处于执行期的程序,当然还要包含其他资源,如打开的文件,挂起的信号,内核内部数据,处理器状态,一个活多个具有内存映射的内存空间地址及一个或多个执行的线程,存放全局变量的数据段等等。线程是进程中活动的对象,每个线程都有自己独立的程序计数器,进程栈和一组进程寄存器。内核调度的对象是线程而不是进程。Linux对进程和线程并不特别区分。Fork()函数创建进程,linux的fork()函数使用写时拷贝,子进程和父进程共享一份拷贝(子进程没有写入时)。调用fork()函数的是父进程,新产生的是子进程。在该调用结束时,在返回点的这个相同位置上,父进程恢复执行,子进程开始执行,即现在有两个进程在执行了,而且执行的是相同的一块代码,哪个获得处理器就执行。Fork()系统调用从内核返回两次,当进程pid为0时表示父进程子在运行,pid0时表示子进程在运行,pid0表示创建子进程失败。对于clone()函数,首先看其参数标志:看一个有关clone的函数:clone(CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND,

文档评论(0)

3774384 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档