Linux期末复习大纲.doc_第1页
Linux期末复习大纲.doc_第2页
Linux期末复习大纲.doc_第3页
Linux期末复习大纲.doc_第4页
Linux期末复习大纲.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Linux期末复习大纲纲要:Linux的社区版本与商业版本的区别;Linux的开发语言;Linux的几种版本;Shell的种类;Linux常用命令:find;Linux系统命令:关于文件、目录的操作命令:cp,mv文件类型、改变文件权限命令chmod、改变文件所有者/组的命令chown;Linux文件:用户/用户组信息、密码存储文件;Vi编辑器的3种模式;Vi编辑器的常用命令:关于保存、退出的命令;输入模式下删除一个字符/一行的命令;gcc(C语言编译器):编写C/C+源程序,编译,连接;生成目标文件,生成可执行文件;gdb(C/C+程序调试器):设置断点,执行下一句代码,查看变量的值;make工具与makefile文件:参考PPT例题32位机的页面大小是多少?(32位机:地址线宽为32的主机)(分页机制)双击一个可执行程序退出该程序,之间经过哪些步骤?请画出其数据结构。(进程的生命周期)一个程序分为哪几个区?一个进程分为哪几个区?为什么?Linux的内存布局/内存结构是什么?()虚拟内存的数据结构?一个程序task_struct的结构。(进程)mm_struct有哪几个成员?分别什么作用。pgd是什么?mmap指向什么?虚拟地址怎么转为物理地址?(分页机制,映射)什么是写时复制?(提示:参考创建子进程过程)buddy算法(伙伴算法) 与 slab算法的区别?程序,进程,线程之间的联系与区别?Linux中的0号、1号进程各有什么作用?如何在父进程里回收子进程?(wait()进程系统调用)深度休眠 与 浅度休眠 的区别?Lession1 Linux操作系统概述Linux的社区版本与商业版本的区别?社区版是志愿者开发和维护的版本;完全免费;对在生产环境中出现的问题和损失等不负责。商业版是服务收费的版本。 Linux的开发语言:C语言+汇编语言。Linux内核是由C语言和汇编语言编写的(以C语言为主)。Linux的几种版本:版本号:num1.num2.num3,其中num1为主版本号,num2为次版本号,num3为修订版本号。Linux的内核系列的版本:由版本号里的num1.num2构成。【例】稳定版2.6.0是2.6版内核系列。稳定版本:num2为偶数。开发版:num2为奇数。社区版本:debian,centos,fedora,ubuntu,gentoo,arch等商业版本:redhat,suse等等Lession2 Linux命令find:查找特定字符串的文件/目录find的使用语法:find 目录列表 匹配标准查找文件条件:根据完整的文件名查找;根据部分文件名查找:查找完整的文件名为httpd.conf的文件find / -name httpd.conf print /在根目录(root目录)下的所有文件、目录中查找find ./ -name httpd.conf print /在当前目录下的所有文件、目录中查找find ./ -name httpd.conf print /在父目录下的所有文件、目录中查找【打印结果】查找的文件的列表,显示文件路径。已知文件名,不知它存的目录:查找文件名含有tmp的,且以.out结尾的所有文件find / *temp*.out print 通配符的使用:?:单个任意的字符。 *:若干个任意的字符。 :单个范围内的任意字符。文件类型-:常规文件d:目录(directory)b:块特殊设备(block)c:字符特殊设备(char)p:有名管道(pipe)s:信号灯(signal)m:共享存储器(memory)文件权限文件权限:三个字符串(即所有者、同组者和其他人);每个字符串:三个字符(字符r:表示对文件的读;字符w:写;字符x执行权限)。当用户没有相应的权限时,该权限的对应位置用短线“-”来表示。chmod:改变文件/目录的权限将文件aa.txt/目录aa的权限设置为:拥有者可读可写可执行,同组者可读可执行,其他人仅可执行。文本模式:chmod u=rwx,g=rx,p=x aa.txtchmod u=rwx,g=rx,p=x aa八进制数字:chmod 751 aa.txt【注】7表示rwx(4+2+1),5表示rx(4+0+1),1表示x(0+0+1)。将文件testfile设置为所有的人都可读可写不可执行。文本模式:chmod a=rw testfile八进制数字:chmod 666 testfilechown:改变文件/目录的拥有者或组将文件testfile的拥有者改为guestll (注:ll命令等效于ls -l)chmod guest testfile将文件testfile的所属组改为usersllchmod :users testfile一次性将文件testfile的拥有者改为guest,所属组改为usersllchmod guest:users testfile改变目录dir1下所有文件以及dir1自身的拥有者为guestchown -R guest dir1【注意】Linux命令式区分大小写的。用户管理的重要文件用户信息:/etc/passwd用户密码:etc/shadow组信息:/etc/group组密码:/etc/gshadowLession3 vi编辑器vi编辑器的3种模式命令模式(默认模式):执行命令;从命令模式切换到输入模式:输入a或A、o或O、i或I。【注】a:行首;A:行尾。o:下一行;O:上一行。i:字符前;I:字符后。输入模式:输入文本;末行模式:执行特定命定;【tip】以冒号开头的命令实际上是ex 命令。保存、退出相关命令保存:w后面接回车键保存并退出:wq后面接回车键退出但不保存:q后面接回车键强行退出:q!vi编辑器的3种模式的切换(图)【tip】输入模式不能直接到末行模式,必须先切换到命令模式。Vi编辑器的常用命令:撤销,重复,删除,复制,粘贴。删除删除一个字符:xx:删除光标上的字符;X:删除光标前(即左边)的字符。删除一个词或词的部分内容:dw删除整个单词:光标移至单词首字母,按dw;删除单词的部分内容:需将光标放置到该词要保存部分的右边,输入dw。(删除光标上及光标以后的该单词的其他部分)。删除一行:dd将光标放置到该行的任意处并输入dd。删除多行:ndd ,例如,5dd【tip】注意区分Linux常用命令和vi编辑器的常用命令。Lession4 gcc 与gdb,make与makefilegcc编译过程(四个阶段):预处理阶段(Preprocessing):第一阶段,对源代码中的头文件、宏定义等进行处理,并进行词法、语法等分析。若无错误,则生成中间文件。编译阶段(Compilation):第二阶段,根据中间文件生成.s后缀的汇编文件。汇编过程(Assembly):第三阶段,调用汇编语言as对中间文件进行汇编,生成.o后缀的目标文件。连接阶段(Linking):第四阶段,当所有目标文件均生成以后,调用ld来完成连接工作,生成可执行程序。【编程】编写C/C+源程序,并编译连接执行执行。vi HH.ca/Ao/O/i/I#include int main()printf(hello world!);:wq方法1:生成默认的可执行文件gcc HH.c /默认生成可执行程序a.out./a.out /执行方法2:生成自定义名的可执行文件gcc -o hello HH.c /生成可执行程序hello./hello /执行【tip】生成可执行文件a.out(默认):gcc 源文件生成目标文件:gcc -c 源文件生成可执行文件hello:gcc -o hello 源文件【tip】./表示在当前目录下执行。gdb概念gdb是GNU的C/C+和汇编语言程序的调试器,通过gdb我们可以控制程序的运行,查看程序的内部状态,动态改变程序的执行环境等等。【要求】设置断点break(b) 行号或函数名:在某行或某函数开头设置断点;break . if .:设置条件断点;断点调试:执行下一行代码next(n)、step(s):单步执行,step可进入函数内部;查看变量的值info(i) locals:查看当前栈帧局部变量的值;display 变量名:跟踪查看一个变量make工具概念:make是一个程序维护工具,根据一定的规则,按照程序的依赖关系先后去编译文件。makefile文件作用:makefile文件定义了一系列的规则,这些规则记录了文件间的依赖关系以及在此依赖关系的基础上所应执行的命令序列,根据这些依赖关系编译文件。make的工作机制,简言之:读取makefile文件 根据makefile内容编译文件。即,当“目标文件修改时间 晚于/迟于 依赖文件修改时间”时,目标文件无需重新编译。依赖关系使用make的一个核心问题是确定好各文件间的依赖关系。对依赖关系的描述我们可以采用依赖关系图表示。【要求】依赖关系图makefile文件【tip】Linux的后台程序都有一个makefile文件makefile书写规则:续行符:“”命令必须以开头目标文件f1.o默认由f1.c和f1.h编译生成。Lession5 进程管理一个进程的task_struct的结构(即PCB)即:在进程的 task_struct 结构中包含一个mm域,该域是指向 mm_struct 结构的指针mm。在进程的 mm_struct结构中包含进程的可执行映像信息,进程的页目录指针pgd,指向 vm_area_struct 结构的指针mmap,每个 vm_area_struct 代表进程的一个虚拟地址区间。 一个程序分为哪几个区?一个进程分为哪几个区?为什么?答:程序组成:正文段(存放程序代码的数据),用户数据段(存放处理数据集合);进程组成:正文段、用户数据段和系统数据段(存放进程的控制信息,即进程控制块PCB,PCB存放了进程运行的环境);即,代码段,数据段和进程控制块PCB。原因:程序是一个普通的文件,是机器代码指令和数据集合,这些指令和数据集合存储在磁盘上的一个可执行映像(可执行文件内容)中。程序代表用户期望完成某工作的计划和步骤,具体实现过程是由进程完成的,进程是程序的一次运行,它包含程序的全部内容,还包含一些额外的数据,即进程运行的环境相关的数据。PCB(task_struct任务结构体)mm_struct有哪几个成员?分别什么作用。pgd是什么?mmap指向什么?答:count: 对mm_struct结构的引用计数变量。pgd:进程的页目录指针,指向进程的页目录基地址。mmap:指向vm_area_struct(虚存区)数据结构的指针,形成一个单链表,其基址由小到大排列。写时复制(copyonwrite)技术写时复制技术可以推迟、甚至免除数据的拷贝;进程创建之初内核并不复制整个进程空间(task_struct),而是使父子进程以只读方式共享同一个拷贝;数据只有在需要写入时才会被复制,从而使各个进程拥有各自的拷贝。程序,进程,线程之间的联系与区别?区别:程序():静态的,一组指令的有序集合。进程(Process) :动态的,程序的一次执行。进程是资源分配的基本单位,拥有独立的地址空间;同一进程内多个线程共享其资源和地址空间。线程(Thread):进程中的执行的一段程序片段。是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位,线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源。联系:每个线程都有一个程序运行的入口,顺序执行序列和程序的出口,但线程不能单独执行,必须组成进程,一个进程至少有一个主线程。简而言之,一个程序至少有一个进程,一个进程至少有一个线程。Linux中的0号、1号进程各有什么作用?0号进程(idle):省电、少热。1号进程(init):创建子进程;回收;托孤(终结父进程,即无父进程/父进程僵死的子进程归1号进程管理)。如何在父进程里回收子进程?wait():阻塞自己,直到遇到一个僵死的子进程,对其销毁回收后返回。浅度睡眠状态 与 深度睡眠状态 的区别?浅度睡眠状态(TASK_INTERRUPTIBLE) :进程正在睡眠(被阻塞),等待资源有效时被唤醒;可以由其他进程通过信号或时钟中断唤醒后,进入运行队列。深度睡眠状态(TASK_UNINTERRUPTIBLE):与浅度睡眠状态相似,但是不可由其他进程通过信号或时钟中断唤醒。【tip】进程状态:可运行态,暂停状态,浅度睡眠状态,深度睡眠状态,僵死状态。进程的生命周期:进程由创建而产生,由调度而执行,由撤销而消亡的过程。【例】双击一个可执行程序退出该程序,之间经过哪些步骤?创建进程:系统调用fork()或clone()创建新任务;执行进程:利用exec()函数族调用装载新的程序映像;等待进程:系统调用wait()等待它的一个子进程结束(阻塞自己,直到收集它的一个子进程并销毁后返回);终止进程:系统调用exit(),进程就会停止剩下的所有操作,清除各种数据结构(包括PCB在内),并终止本进程运行。进程的系统调用:参看课件word文档。fork()父亲克隆一个儿子。执行fork()之后,兵分两路,两个进程并发执行。exec()新进程脱胎换骨,离家独立,开始了独立工作的职业生涯。wait()等待不仅仅是阻塞自己,还准备对僵死的子进程进行善后处理。exit()终止进程,把进程的状态置为“僵死”,并把其所有的子进程都托付给init进程,最后调schedule()函数,选择一个新的进程运行。Lession6内存管理Linux的内存管理:虚拟内存Linux内存管理的设计利用了虚拟存储技术,实现了虚拟存储器管理。线性空间在32位平台上为4GB的固定大小,即Linux的虚拟地址空间的大小。Linux内核将这4GB的空间分为两部分:内核空间(较高的1GB)和用户空间(较低的3GB)。内核空间由系统内的所有进程共享;用户空间由两个数据结构描述:mm_struct结构,对进程的整个应用空间进行描述;vm_area_struct结构,对用户空间中各个区间(虚存区)进行描述。虚拟内存的结构虚拟内存共4G字节,分为内核空间(最高的1G字节)和用户空间(较低的3G字节)两部分,每个进程最大拥有3G字节私有虚存空间。分页机制32位机的页面大小是多少?(32位机:地

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论