链接、装载与库(1)——基础知识1

系统软件体系结构中,各种软件的位置如下图所示:
![计算机软件体系结构](https://img-blog.csdn.net/20160602211534395)
每个层次之间都需要互相通信,通信就必须要有一个通信的协议,我们一般将其称为**接口(interface)**,接口的下面那层为接口的提供者,由它来定义接口;接口的上面那层是接口的使用者,它使用该接口来实现所需要的功能。在层次体系中,接口是被精心设计过的,尽量保持稳定不变,那么**理论上,层次之间只要遵循这个接口,那么任何一个层都是可以被修改或者替换的**。除了硬件和应用程序,其他都是所谓的中间层,每个中间层都是对它下面的那层的包装和扩展。
我们的软件体系中,位于最上层的是应用程序,比如我们平时用到的网络浏览器、Email客户端等。**从整个层次接口上来看,开发工具与应用程序是属于同一个层次的,因为他们都是用同一个接口,那就是操作系统应用程序编程接口(Application Programming Interface)。**应用程序接口的提供者是运行库,什么样的运行库提供什么样的API,比如Linux下的Glibc库提供POSIX的API,Windows的运行库提供Windows API,最常见的32位Windows提供的API又被称为Win32.
运行库使用操作系统提供的**系统调用接口(System call Interface)**,系统调用接口在实现中往往以**软件中断(Software Interrupt)**的方式提供,比如Linux使用0x80号中断作为系统调用接口,Windows使用0x2E号中断作为系统调用接口。
操作系统内核层对于硬件层来说是硬件接口的使用者,而硬件是接口的定义这,硬件的接口定义决定了操作系统内核,具体来讲就是驱动程序如何操作硬件,如何与硬件进行通信。这种接口往往被叫做**硬件规格(Hardware Specification)**,硬件的生产厂商负责提供硬件规格,操作系统和驱动程序的开发者通过阅读硬件规格文档所规定的各种硬件编程接口标准来编写操作系统和驱动程序。
**操作系统做什么**
操作系统的一个功能是提供抽象的接口,另外一个主要功能是管理硬件资源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值