- 1、本文档共82页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统Operating Systems 专题课 Linux专题课 一、文件编辑器vi vi是在UNIX 上被广泛使用的中英文编辑软件。 vi是visual editor的缩写,是UNIX提供给用户的一个窗口化编辑环境。 进入vi,直接执行vi编辑程序即可。 例: vi test.c 或者 vim test.c 显示器出现vi的编辑窗口,同时vi会将文件复制一份至缓冲区(buffer)。vi先对缓冲区的文件进行编辑,保留在磁盘中的文件则不变。编辑完成后,使用者可决定是否要取代原来旧有的文件。 一、文件编辑器vi 1、vi的工作模式 vi提供二种工作模式:输入模式(insert mode)和命令模式(command mode)。 使用者进入vi后,即处在命令模式下,此刻键入的任何字符皆被视为命令,可进行删除、修改、存盘等操作。要输入信息,应转换到输入模式。 一、文件编辑器vi 1、vi的工作模式 (1)命令模式 在输入模式下,按ESC可切换到命令模式。命令模式下,可选用下列指令离开vi: 命令模式下光标的移动 一、文件编辑器vi 1、vi的工作模式 (2)输入模式 输入以下命令即可进入vi输入模式: 二、GNU C编译器 LINUX上可用的C编译器是GNU C编译器,它建立在自由软件基金会编程许可证的基础上,因此可以自由发布。 LINUX 上的GNU C编译器(GCC)是一个全功能的ANSI C兼容编译器,而一般UNIX(如SCO UNIX)用的编译器是CC。下面介绍GCC和一些GCC编译器最常用的选项。 二、GNU C编译器 1、使用GCC 通常后跟一些选项和文件名来使用GCC编译器。GCC命令的基本用法如下: gcc [options] [filenames] 命令行选项指定的编译过程中的具体操作 GCC有超过100个的编译选项可用,这些选项中的许多可能永远都不会用到,但一些主要的选项将会频繁使用。 二、GNU C编译器 1、使用GCC 当不用任何选项编译一个程序时,GCC将建立(假定编译成功)一个名为a.out的可执行文件。例如, gcc test.c 编译成功后,当前目录下就产生了一个a.out文件。 也可用-o选项来为即将产生的可执行文件指定一个文件名来代替a.out。例如: gcc –o count count.c 此时得到的可执行文件就不再是a.out,而是count。 二、GNU C编译器 2、执行文件 格式: ./可执行文件名 例: ./a.out ./count 三、GNU调试程序gdb LINUX包含了一个叫gdb的GNU调试程序。gdb是一个用来调试C和C++程序的强有力调试器。它使你能在程序运行时观察程序的内部结构和内存的使用情况。它具有以下一些功能: 三、GNU调试程序gdb 1、gdb基本命令 三、GNU调试程序gdb 3、应用举例 (1)设有一源程序 greet.c (2)编译,gcc -ggdb –o greet greet.c,出错 (3)gdb greet ,出现提示符 (gdb) 此时可在提示符下输入gdb的命令了,如: (gdb) run (gdb) list (4)退出调试状态,返回系统提示符下, (gdb)quit 四、OS中的进程管理 1、进程的创建 在UNIX系统中,只有0进程是在系统引导时被创建的,在系统初启时由0进程创建1进程,以后0进程变成对换进程,1进程成为系统中的始祖进程。 UNIX利用fork( )为每个终端创建一个子进程为用户服务,如等待用户登录、执行SHELL命令解释程序等,每个终端进程又可利用fork( )来创建其子进程,从而形成一棵进程树。可以说,系统中除0进程外的所有进程都是用fork( )创建的。 系统调用fork( ) 的源代码参见:/USR/SRC/LINUX/KERNEL/FORK.C 四、OS中的进程管理 1、进程的创建 实例:编写一段程序,使用系统调用fork( )创建两个子进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示不同的字符串:子进程显示daughter …及son ……,父进程显示 parent ……,观察
文档评论(0)