·每个操作系统都提供几百种系统调用包括:外存文件与目录的读写,各种/O设备的使用,在程序中启动另一个程序,香询和统计系统资源使用情况等等
• 每个操作系统都提供几百种系统调用 包括: 外存文件与目录的读写, 各种I/O设备 的使用, 在程序中启动另一个程序, 查询和统计 系统资源使用情况等等
处理器的状态·根据运行程序对资源和机器指令的使用权限将处理器设置为不同状态·多数系统将处理器工作状态划分为系统态和用户态系统态:操作系统管理程序运行的状态,较高的特权级别,又称为特权态(特态)、管态用户态:用户程序运行时的状态,较低的特权级别,又称为普通态(普态)、目态
处理器的状态 • 根据运行程序对资源和机器指令的使用权限 将处理器设置为不同状态 • 多数系统将处理器工作状态划分为系统态和用 户态 系统态:操作系统管理程序运行的状态,较 高的特权级别, 又称为特权态(特态)、管态 用户态:用户程序运行时的状态, 较低的特 权级别, 又称为普通态(普态)、目态
系统态和用户态的差别处理器处于系统态时:全部指令(包括特权指令)可以执行可使用所有资源并具有改变处理器状态的能力处理器处于用户态时:只有非特权指令能执行特权级别不同可运行指令集合也不同·特权级别越高,可以运行指令集合越大·高特权级别对应的可运行指令集合包含低特权级的
系统态和用户态的差别 处理器处于系统态时: 全部指令(包括特权指令)可以执行 可使用所有资源 并具有改变处理器状态的能力 处理器处于用户态时: 只有非特权指令能执行 特权级别不同可运行指令集合也不同 • 特权级别越高,可以运行指令集合越大 • 高特权级别对应的可运行指令集合包含低 特权级的
系统调用的实例汇编程序例子:在屏幕上显示一字符串查系统调用表得知,调用号为09H,出口参数无入口参数:DS:DX=输出字串所在缓冲区首址:MOV AH, 09HMOV DX, SEG MystringMOV DS, DXMOV DX, OFFSET MystringINT 21HMystring DB“Hello World
系统调用的实例 汇编程序例子:在屏幕上显示一字符串 查系统调用表得知,调用号为09H,出口参数无, 入口参数: DS:DX=输出字串所在缓冲区首址: . MOV AH, 09H MOV DX, SEG Mystring MOV DS, DX MOV DX, OFFSET Mystring INT 21H . Mystring DB ‘Hello World’
高级语言例子:打印5个字符char buff|41=“abcde"":for(i=4;i>=0;i--)print(buf[il);高级语言例子:读硬盘文件f1的第10到20个字节seek(fd, 10,0);read(fd, buff, 11);
高级语言例子:打印5个字符 char buff[4]=“abcde”; for(i=4;i>=0;i-) print(buff[i]); 高级语言例子: 读硬盘文件f1的第10到20个字节 seek(fd,10,0); read(fd,buff,11);