机制与策略
来源:互联网 发布:客家话输入软件 编辑:程序博客网 时间:2024/06/05 19:16
Unix/Linux的接口设计有一句通用的格言“提供机制而不是策略”。
大部分的编程问题都可以被切割成两个部分:“需要提供什么功能(机制)”和“怎样实现这些功能(策略)”。如果程序可以由独立的部分分别完成机制与策略的实现,那么开发软件就更加容易,也更加容易适应不同的需求。
操作系统的本质是一个执行者。
内核函数的执行机制 -- 线程;
中断服务程序的执行机制 -- 中断信号触发;
中断下半部的执行机制 -- softirq, tasklet, 工作队列;
系统调用的执行机制 -- 软中断(int $0x80触发)
大部分的编程问题都可以被切割成两个部分:“需要提供什么功能(机制)”和“怎样实现这些功能(策略)”。如果程序可以由独立的部分分别完成机制与策略的实现,那么开发软件就更加容易,也更加容易适应不同的需求。
操作系统的本质是一个执行者。
执行用户程序--所谓为用户服务;
执行中断--所谓为外设服务;
所谓系统调用--所谓解放程序员(姑且说它为广大的程序员服务,因为程序员不再与繁杂的硬件打交道了);
执行内核线程--为操作系统自身服务。
而这些所有,它们执行的核心,无非是在恰当的时机,让哪个对象(程序、线程、中断服务程序、中断的下半部分、系统调用)占有CPU。
换句话说,Unix/Linux抽象出对这些对象的执行机制:
程序的执行机制 -- 进程 ;内核函数的执行机制 -- 线程;
中断服务程序的执行机制 -- 中断信号触发;
中断下半部的执行机制 -- softirq, tasklet, 工作队列;
系统调用的执行机制 -- 软中断(int $0x80触发)
如果说机制是一种框架,那么,策略就是填充框架的一个个具体的实体。机制提供的是一种开放而宽松的环境,而策略就是在这个环境下赖以生存的生命个体。
比如,我们编写的一个程序,fork()以后,就成为一个个进程的生命个体。而操作系统所提供给我们创建、执行以及结束进程的各种原语--fork(),exec(),exit()等是统管各种进程的机制。我们所创建进程的死活并不会影响机制本身。
(转自:http://blog.chinaunix.net/uid-24807808-id-3235118.html)
0 0
- 机制与策略
- 机制与策略
- 策略与机制
- 机制与策略
- 策略与机制
- 机制与策略
- 机制与策略概述
- 机制与策略
- 机制与策略
- 机制与策略
- 机制与策略
- 机制与策略
- 机制与策略
- 机制与策略
- 机制与策略
- 策略模式与机制
- “机制与策略”(参考)
- Linux中的机制与策略
- ES7中的async函数
- Andorid 加速度传感器的使用
- JavaWeb_Tomcat的安装和配置
- leetcode283题 题解 翻译 C语言版 Python版
- iOS之UIView加边框及边框颜色
- 机制与策略
- 【MinaFile】【五】1.0版本
- 细心很重要
- JSON解析
- hdoj 1596 find the safest road【最短路3种方法】
- PPAPI与Browser间使用AsyncIPC通信
- 人工智能、应用、程序
- 字符串替换-K&R C 题3-2
- iOS9 升级后UIAlertController的简单使用