高级操作系统AdvancedOperatingSystem0000.ppt
《高级操作系统AdvancedOperatingSystem0000.ppt》由会员分享,可在线阅读,更多相关《高级操作系统AdvancedOperatingSystem0000.ppt(40页珍藏版)》请在三一办公上搜索。
1、高级操作系统 Advanced Operating System,北方工业大学计算机系North China University of TechnologyDepartment of Computer 授课教师:宋丽华Email:Tel:88803939 五教1102,第二章 UNIX基础知识,系统的启动过程UNIX文件结构简介C语言编程Makefile的编写UNIX shell 编程,2.1 系统的启动过程,操作系统的启动经历三个过程系统引导核心初始化系统的初始化,1)系统引导,把UNIX系统核心装入内存并且让它开始执行的工作叫做系统引导。上电。BIOS(保存在主板上的闪存中)检查系统硬件
2、。加载主引导程序,即(从硬盘0头,0道,0扇区)寻找/unix文件,并将该文件装入内存。内核装入程序将控制权交给新装入的内核从而使之得以运行。,2)内核初始化,(1)初始化少量的硬件接口、初始化系统时钟、初始化存储管理。还要初始化少量的数据结构。(2)初始化进程0 注:进程0没有代码段,它就是一个进程数据结构。(3)进程0创建进程1,3)系统初始化,(1)进程1执行系统调用exec,系统程序/sbin/init 读取配置文件/etc/inittab,按照其中的配置对系统进行初始化。激活交换分区,检查磁盘,加载硬件模块,启动对应运行级别的守护进程。(2)init为每一条通信线路创建一个getty
3、进程来实现多用户方式。(3)等待用户注册,检查用户的登录口令建立shell进程。(4)当shell程序退出时,init程序就醒来,调用系统调用fork/exec产生一个新的getty程序来监督通信线路并等待下一个注册。,第二章 UNIX基础知识,系统的启动过程UNIX文件结构简介C语言编程Makefile的编写UNIX shell 编程,UNIX文件结构简介,层次结构:UNIX文件系统被组织成树型结构。在UNIX系统的常见的目录有:bin、etc、usr、unix、dev等。一个路径名不一定非要从根目录开始,如果省略路径名则说明为当前目录。对文件数据一致对待:在UNIX系统中,程序并不知道文件
4、存储的内部格式,程序把所有的文件内容都当作无格式的字节流看待。程序是按照自己的应用需要来解释文件的内容。,文件系统的树状结构,/目录:目录树的根,用于保存系统的内核文件和系统启动文件。/dev目录:用于保存系统的设备文件。/usr目录:用于保存系统正常运行时使用的系统应用程序,其中/usr/bin放置系统执行文件,/usr/src中放置系统的源代码。/etc目录:用于保存系统的配置文件,包括passwd,rc等非常重要的文件,也被放置到根文件系统中。/bin目录:保存了用于系统维护目的的执行文件。/tmp目录:用于存放程序运行产生的临时文件,这个目录也是每个用户都可写的,在系统启动时将自动清空
5、这个 目录。/home目录:它用于维护用户的个人目录,第二章 UNIX基础知识,系统的启动过程UNIX文件结构简介C语言编程Makefile的编写UNIX shell 编程,C语言编程,1)源程序的编译如果要编译一个C语言源程序,我们要使用GCC编译器,为ANSI C编写的编译程序。假设我们有下面一个非常简单的源程序(hello.c):int main(int argc,char*argv)printf(Hello Linux!n);http:/,C语言编程,GCC命令的基本用法如下:gcc options filenames当不用任何选项编译一个程序时,GCC将建立(假定编译成功)一个名为a
6、.out的可执行文件。例如:gcc hello.c 编译成功后,当前目录下就产生了一个a.out文件。,C语言编程,命令行选项指定的编译过程中的具体操作,GCC有超过100个的编译选项可用,这些选项中的许多可能大家永远都不会用到,常用的有:-o 选项 表示创建可执行代码保存在文件中,而不是默认文件a.out 例如:gcc o hello hello.c 此时得到的可执行文件就不再是a.out,而是hello。,C语言编程,-c选项 表示只要求编译器输出目标代码,而不输出可执行文件.例如:gcc c hello.c gcc hello.o o hello第一步将产生hello.o目标文件,当有多
7、个源文件时,如果只有一个或几个源文件发生改变可以采用这种方式来编译,节省编译时间。gcc c hello.c driver.c stack.cgcc hello.o driver.o stack.o o hello,2)执行文件 格式:./可执行文件名例:./a.out./hello,C语言编程,3)灾难性编译程序命令 gcc hello.c o hello.c执行结果?,源文件被可执行代码覆盖,意味着永远丢失了源文件!,C语言编程,4)程序的调试LINUX包含了一个叫gdb的调试程序,是一个用来调试C和C+程序的强有力调试器。它使你能在程序运行时观察程序的内部结构和内存的使用情况。它具有以下
8、一些功能:,监视程序中变量的值;设置断点以使程序在指定的代码行上停止执行;单步执行代码。,C语言编程,应用举例(1)设有一源程序 greet.c(2)编译,gcc-g o greet greet.c,出错(3)gdb greet,出现提示符(gdb)此时可在提示符下输入gdb的命令了,如:(gdb)run(gdb)list(4)退出调试状态,返回系统提示符下,(gdb)quit,gdb基本命令,第二章 UNIX基础知识,系统的启动过程UNIX文件结构简介C语言编程Makefile的编写UNIX shell 编程,第二章 UNIX基础知识,系统的启动过程UNIX文件结构简介C语言编程Makefi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高级 操作系统 AdvancedOperatingSystem0000
链接地址:https://www.31ppt.com/p-5326150.html