操作系统发展与硬件实现简介
2015-12-08 00:04
183 查看
一.计算机的基本组成
1.CPU:运算器、控制器、寄存器、缓存等组成 早期采用Poll轮询机制,每隔一定时间询问设备,浪费cpu资源
后来采用Interput中断机制,硬件通知机制,外围设备通过不断中断来和CPU核心设备交互 但中断过多会导致系统性能下降,如网卡访问量过大运算器、控制器:核心部件寄存器、缓存:加速部件,为了提高CPU的性能CPU架构:x86:
32位架构32位:32条路,每条1/0两个选择
,有2^32种方法选址,最多只能使用大约4G内存x64(amd64)
:最早64位CPU是AMD公司发布,后来Intel。向老版本兼容,新指令m68000:摩托罗拉CPUarm系列:arm公司只提供架构图,不生产cpu,各厂商买回去自己生产或者二次开发功耗低,手机端cpuultrasparc
: Solaris系统power:功耗体积大,精简指令集。AIXpowerpc:简称ppc,简装版power,用于早期的Apple的CPU架构MIPS:alpha:HP-UX系统 交叉编译:cross compile,在一个架构上编译适用另一个硬件架构的Applaction的方法
2. 存储器:内存,RAM(Random
Access Memory)是编址单元
3.Input:下指令,提供数据等;
4.Output:输出数据加工的结果;
5.主板 北桥:高速总线控制器,,一般接CPU和内存 南桥:I/O设备控制 二.操作系统发展史 ENTARC:第一台计算机 批处理系统:job1$$$$job2$$$$jiob3$$$$...... 多任务:multi tasks --->Bell,MIT,GE三个组织=MulticsCPU:slice机制,切换任务运算Memory:分段机制;虚拟地址空间 贝尔实验室的ken Thompson --->在PDP-7上开发DEC:PDP-11,VAX(VMS)流行,贵 --->Ken在PDP-7上开发--->1969:Unics对立 = Unix
--->Unix:1971.norff--->1972
Bell实验室有十台使用unix--->B语言-Dennis
Ritch-C语言 ,两人用c语言改写了unix 从汇编到c可移植性增强,但是在当时的计算机性能差方面问题冒险--->联合发表在《美国计算机通信》:1974年,第一次公之于众--->1979年:System
V7 比较流行--->1978年,SCO包装发行unix--->1988:
Microsoft ,XENIX--->Berkrlry
:Ken 任教伯克利大学Bill Joy.组织BSRG。1977年发布BSD(Berkrlry System
Distribution)--->1980年,DARPA,在BSD系列的unix上研究tcp/ip--->在版权官司十年unix逐渐落末 1981.Microsoft,Bill GatesSCP
:QDOS(Quick and Dirty Operating System)DOS
2.0,性能价格比CP/M更好Windows(支持图形化) windows nt(new technology)1990.一直在unix上编写DOS SUN公司:Bill
Joy workstation工作站 Apple:XEROX施乐公司:
PARK实验室(star产品:图像化界面) ---->Bill
Gates"盗窃"后开发出最早的windows 1985:Richard
StallmanGUN:
GUN is Not Unix GLP:General Public License FSF:Free Software Foundation free:freedom自由的软件方面:X-Window:
GPLgcc:
gnu c compliervi:
visual interface...
... Andrew:
Minix,早起4000+行代码 System
V Unix <---> BSD--->1990:BSD --->Jolitz 将BSD移植到x86 1991年8月:Linux
Torvalds宣布成立Linux;准守GPL协定--->基于Larry
Wall作者 diff编写补丁和patch打补丁工具运用,协同开发 完整的OS:Kernel+Application ->
GUN/Linux狭义的OS:Kernel 三.操作系统在硬件上的实现1.
Syscall系统调用接口(硬件上内核层接口)2.
libcall库调用(将通用功能在系统接口再封装成模块方便统一功能调用)3.
操作系统:隐藏底层硬件复杂性,差异性Sysacall--->再封装--->libcallPOSIX:
Portable Operating System Interface 可移植操作系统接口标准API:
Application Program Interface 程序员面对的编程接口ABI:
Application Binary Interface 程序应用者面对运行程序的接口编程接口兼容不等于二进制接口兼容
本文出自 “许鼎的博客” 博客,请务必保留此出处http://xuding.blog.51cto.com/4890434/1720580
1.CPU:运算器、控制器、寄存器、缓存等组成 早期采用Poll轮询机制,每隔一定时间询问设备,浪费cpu资源
后来采用Interput中断机制,硬件通知机制,外围设备通过不断中断来和CPU核心设备交互 但中断过多会导致系统性能下降,如网卡访问量过大运算器、控制器:核心部件寄存器、缓存:加速部件,为了提高CPU的性能CPU架构:x86:
32位架构32位:32条路,每条1/0两个选择
,有2^32种方法选址,最多只能使用大约4G内存x64(amd64)
:最早64位CPU是AMD公司发布,后来Intel。向老版本兼容,新指令m68000:摩托罗拉CPUarm系列:arm公司只提供架构图,不生产cpu,各厂商买回去自己生产或者二次开发功耗低,手机端cpuultrasparc
: Solaris系统power:功耗体积大,精简指令集。AIXpowerpc:简称ppc,简装版power,用于早期的Apple的CPU架构MIPS:alpha:HP-UX系统 交叉编译:cross compile,在一个架构上编译适用另一个硬件架构的Applaction的方法
2. 存储器:内存,RAM(Random
Access Memory)是编址单元
3.Input:下指令,提供数据等;
4.Output:输出数据加工的结果;
5.主板 北桥:高速总线控制器,,一般接CPU和内存 南桥:I/O设备控制 二.操作系统发展史 ENTARC:第一台计算机 批处理系统:job1$$$$job2$$$$jiob3$$$$...... 多任务:multi tasks --->Bell,MIT,GE三个组织=MulticsCPU:slice机制,切换任务运算Memory:分段机制;虚拟地址空间 贝尔实验室的ken Thompson --->在PDP-7上开发DEC:PDP-11,VAX(VMS)流行,贵 --->Ken在PDP-7上开发--->1969:Unics对立 = Unix
--->Unix:1971.norff--->1972
Bell实验室有十台使用unix--->B语言-Dennis
Ritch-C语言 ,两人用c语言改写了unix 从汇编到c可移植性增强,但是在当时的计算机性能差方面问题冒险--->联合发表在《美国计算机通信》:1974年,第一次公之于众--->1979年:System
V7 比较流行--->1978年,SCO包装发行unix--->1988:
Microsoft ,XENIX--->Berkrlry
:Ken 任教伯克利大学Bill Joy.组织BSRG。1977年发布BSD(Berkrlry System
Distribution)--->1980年,DARPA,在BSD系列的unix上研究tcp/ip--->在版权官司十年unix逐渐落末 1981.Microsoft,Bill GatesSCP
:QDOS(Quick and Dirty Operating System)DOS
2.0,性能价格比CP/M更好Windows(支持图形化) windows nt(new technology)1990.一直在unix上编写DOS SUN公司:Bill
Joy workstation工作站 Apple:XEROX施乐公司:
PARK实验室(star产品:图像化界面) ---->Bill
Gates"盗窃"后开发出最早的windows 1985:Richard
StallmanGUN:
GUN is Not Unix GLP:General Public License FSF:Free Software Foundation free:freedom自由的软件方面:X-Window:
GPLgcc:
gnu c compliervi:
visual interface...
... Andrew:
Minix,早起4000+行代码 System
V Unix <---> BSD--->1990:BSD --->Jolitz 将BSD移植到x86 1991年8月:Linux
Torvalds宣布成立Linux;准守GPL协定--->基于Larry
Wall作者 diff编写补丁和patch打补丁工具运用,协同开发 完整的OS:Kernel+Application ->
GUN/Linux狭义的OS:Kernel 三.操作系统在硬件上的实现1.
Syscall系统调用接口(硬件上内核层接口)2.
libcall库调用(将通用功能在系统接口再封装成模块方便统一功能调用)3.
操作系统:隐藏底层硬件复杂性,差异性Sysacall--->再封装--->libcallPOSIX:
Portable Operating System Interface 可移植操作系统接口标准API:
Application Program Interface 程序员面对的编程接口ABI:
Application Binary Interface 程序应用者面对运行程序的接口编程接口兼容不等于二进制接口兼容
本文出自 “许鼎的博客” 博客,请务必保留此出处http://xuding.blog.51cto.com/4890434/1720580
相关文章推荐
- AngularJS Module方法详解
- JS获取月份最后天数、最大天数与某日周数的方法
- JS组件Bootstrap Table表格行拖拽效果实现代码
- JS操作XML实例总结(加载与解析XML文件、字符串)
- AngularJS实现全选反选功能
- JS组件Bootstrap Table表格多行拖拽效果实现代码
- jQuery实现的简单提示信息插件
- jQuery遮罩层实现方法实例详解(附遮罩层插件)
- 详解js中构造流程图的核心技术JsPlumb
- 详解js中构造流程图的核心技术JsPlumb(2)
- js+ajax实现获取文件大小的方法
- JS获取文件大小方法小结
- JS实现按比例缩放图片的方法(附C#版代码)
- js实现兼容IE、Firefox的图片缩放代码
- JS判断当前页面是否在微信浏览器打开的方法
- jQuery实现form表单基于ajax无刷新提交方法详解
- 基于JavaScript创建动态Dom
- jQuery使用$.ajax进行即时验证的方法
- jquery+ajax实现注册实时验证实例详解
- jQuery的Ajax用户认证和注册技术实例教程(附demo源码)