操作系统作用1:自顶向下的观点
机器语言:提供最原始的操作指令
内存和CPU寄存器之间的数据拷贝指令;算术运算指令;根据 比较结果执行指定地址的跳转指令
硬件操作方式差异很大,直接用机器语言操作硬件非常繁琐。
解决方法:对底层硬件能好的操作接口
应用程序:my.c
count=read(file, buffer, nbytes) ➢file:文件标识符,指向要读取的文件; ➢buffer:内存地址,指向数据缓冲区; ➢nbytes:要读取的字节数 ➢count:返回读取到的字节数
库文件:stdlib.o ssize_t read(file, buffer, nbytes) { …… //传递系统调用的编号 INT //中断指令 }
为什么系统调用不做成库函数形式?
某些原始操作系统就是一个函数库,供应用程序直接调用
IC卡操作系统
问题:绕过操作系统,自己编写代码直接对硬件操作
严重的安全隐患:一个应用程序出现错误,可能导致整个计算 机系统崩溃
只能由OS系统对硬件操作,不允许应用程序直接操作硬件
有哪些操作系统?
手机操作系统:Google的Android、苹果IPhone、操IPa作d的系IO统S操在作系信统;微
软的Winows Phone;Nokia的Symbian;
息社会中无处
PC操作系统:微软的Dos、WinXP、Win7;苹果的Mac不OS;在
服务器操作系统:IBM AIX、HP-UX、Solaris等UNIX系统;开源的Linux 系统;微软的windows 2003;
教材
Modern Operating Systems(英文第三版)Andrew S. Tanenbaum
Linux内核的设计与开发(中文第二版) Robert Lover