操作系统用户界面.ppt

操作系统用户界面.ppt

ID:48040998

大小:578.50 KB

页数:21页

时间:2020-01-13

操作系统用户界面.ppt_第1页
操作系统用户界面.ppt_第2页
操作系统用户界面.ppt_第3页
操作系统用户界面.ppt_第4页
操作系统用户界面.ppt_第5页
资源描述:

《操作系统用户界面.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、1第2章操作系统用户界面2本章重点用户界面类型系统调用32.1简介用户界面作用使用户方便、有效地使用计算机软、硬件。42.2一般用户的输入输出界面作业的定义与组织(见第4章)一般用户的输入输出方式(见第9章)52.3命令控制界面复习操作系统功能之一:提供良好的用户界面用户界面类型操作命令界面(命令控制界面)键盘命令图形界面批处理作业控制语言系统调用界面62.4Linux与Windows的命令控制界面Linux的命令控制界面*(见实验2)Windows的命令控制界面窗口交互命令解释器(cmd.exe)系统信息命令,如time系统操作

2、命令,如shutdownShutdown–s–t60(-s表示关机,-t表示延时时间,单位秒)文件系统命令,如mkdir网络通信命令,如ipconfigIpconfig-all:显示ip等相关配置信息72.5系统调用定义是操作系统提供给编程人员使用的用户界面。形式语句或函数。使用方式在用户源程序中需要请求系统服务时调用。执行时状态执行时处理机处于核态或管态。重要性是用户程序和内核交互的接口。82.6Linux和Windows的系统调用Linux系统调用的类型有关设备管理的系统调用:功能:实现对设备的读写和控制。例:read、wri

3、te:对指定设备进行读写;open、close:打开和关闭指定的设备。有关进程控制的系统调用:功能:例:fork():进程的创建;exit():进程的终止;getpid():获取当前进程的标识符;wait():等待子进程终止、execl():执行某个应用程序。9有关进程通信的系统调用:功能:例:pipe()实现父子进程通信的管道创建,实现多进程共享消息队列的几个系统调用msgget()、msgsnd()、msgrcv()、msgctl()。有关文件管理的系统调用:功能:文件的打开、关闭、读、写、创建、删除、执行、安装、获取等。例:

4、比如我们在C语言中所熟悉的open()、close()、read()、write()等虽是以语句的形式给出,最后调用的是操作系统所提供的系统调用。105.关于存储管理的系统调用:功能:对内存空间大小的获取和释放、请求内存缓冲区、检查内存中现有的进程、改变堆栈的大小。例:6.关于系统管理的系统调用:功能:设置或读取系统日期和时间的、获得当前用户或主机的标识符等。例:11系统调用的重要性举例(补充)操作命令与系统调用关系C库函数与系统调用关系操作命令与系统调用关系(补充)操作命令在执行后需转换为相应的系统调用函数去完成相应的任务。12

5、C库函数与系统调用关系例:Linux下跟踪标准C库函数printf()的实现步骤一:编写并编译代码代码编写#includeintmain(void){printf("helloworld");return0;}编译使用命令gcc-ohellohello.c编译。(将hello.c经过编译的文件以指定的文件名hello保存。)13步骤二:跟踪用命令strace./hello跟踪该可执行文件。14结论:库函数由系统调用实现。每一行都和一个系统调用相对应。在输出的末尾,看到write(1,"helloworld",11

6、)。关于strace是一个查看程序在干什么的程序,它可以告诉你程序使用了哪些系统调用和这些系统调用的参数,返回值。怎样查看Linux系统调用命令:"man系统调用名称“例:“manwrite”15在linux系统内核中增加一个新的系统调用函数步骤一:下载内核源代码。在下载的内核中添加系统调用,重新编译内核。步骤二:将新函数代码加入sys.c中步骤三:修改entry.s。在rept之前加入新函数步骤四:修改头文件。将新增加的函数号在unistd.h中申明步骤五:重新编译内核。步骤六:装载新内核。步骤七:重新启动系统。步骤八:测试新增

7、系统调用。16sys.c路径:/usr/src/linux-2.4/kernel/sys.c文件内容:部分系统调用函数,且都以asmlinkage开头,类型都是long,而且在调用的函数名前面加上前缀sys_例:第0号系统调用函数ni_syscall就是asmlinkagelongsys_ni_syscall(void)函数,如下所示。asmlinkagelongsys_ni_syscall(void){return-ENOSYS;}17entry.s路径:/usr/src/linux-2.4/arch/i386/kernel/e

8、ntry.S文件内容:系统所提供的系统调用的入口表,表中给出了函数名与调用编号之间的对应关系。例:exit()的调用号是1号,fork()是2号,以此类推,如下所示为部分调用号与函数名之间对应的系统调用入口表。ENTRY(sys_call_tabl

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。