1.计算机体系结构

    计算机主要有五个部分组成:运算器、控制器、存储器、输入设备、输出设备。

  运算器和控制器组合在一起,统称为中央处理器(CPU,Central Processing Unit)。

  储存器,就是我们常说的内存,通过编制。

 

 2.计算机启动【自举(bootstrapping)】

  2.1硬件自检(POST)

  接通计算机的电源,系统将执行一个自我检查的例行程序,通常称为上电自检(POST,Power Self Test)。

  完整的POST自检包块对CPU、系统主板、基本的640KB内存、1MB以上的扩展内存、系统ROM BIOS的测试;CMOS中系统配置的校验;初始化视频控制器,测试视频内存、检验视频信号和同步信号,对CRT接口进行测试;对键盘、软驱、硬盘及CD-ROM子系统作检查;对并行口(打印机)和串行口(RS232)进行检查。

  自检中如发现有错误,将按两种情况处理:对于严重故障(致命性故障)则停机,此时由于各种初始化操作还没完成,不能给出任何提示或信号;对于非严重故障则给出提示或声音报警信号,等待用户处理。

  当自检完成后,系统转入BIOS的下一步骤,将ROM中的程序映射到RAM内存中,并执行寻找操作系统进行启动,然后将控制权交给操作系统。

  2.2启动顺序(Boot Sequence)

  BIOS有一个外部存储设备的排序,叫做启动顺序(Boot Sequence)。BIOS根据启动顺序确定下一阶段的启动程序。

硬件自检完成后,BIOS把控制权转交给下一阶段的启动程序。

  2.3主引导记录(MBR,Master boot record)

  BIOS按照“启动顺序”键控着权转交给排在第一位的存储粗设备。这是计算机读取该设备的第一个扇区,也就是对前面的512B,这512B就是所谓的主引导记录(MBR)。

  如果这512B的最后两个自己是0x55、0xAA,表明这个设备可以用于启动。否则这个设备不能启动,则将控制权转交给“启动顺序”中的下一个设备。

  MBR主要作用是告诉计算机到硬盘的那一个位置去找操作系统。

    001-446:调用操作系统的机器码

    447-510:分区表(Partition table)

    511-512:MBR签名(0x55、0xAA)

 

  2.4分区表(Partition table)

  分区表只有64B,分为4项,每项16B。注:一个硬盘最多只能分4个一级分区。

    01:若为0x80,则该分区为激活分区,控制权交给这个分区。四个分区只能有一个激活

    02-04:主分区第一个扇区的物理位置( 柱面,磁头,扇区号)

    05:主分区类型

    06-08:主分区最后一个扇区的物理位置

    09-12:该主分区的第一个逻辑地址

    13-16:主分区的扇区总数,一个分区的扇区总数不可以超过2的32次方。

 

  2.5硬盘启动

  这是计算机的控制权转交给硬盘的某个分区,有三种情况

  2.5.1卷引导记录(VBR,Volume boot record)

  计算机读取激活分区的第一个扇区,也就是卷引导记录,VBR告诉计算机操作系统在这个分区的位置,然后计算机就会加载操作系统。

  2.5.2扩展分区和逻辑分区

  由于硬盘容量的增加四个主分区已经不够了,因此规定有且仅有一个分区可以被定义成扩展分区(Extended partition)。在扩展分区下分成多个分区,叫逻辑分区(Logical partition)。

  计算机先读取扩展分区的第一个扇区,叫“扩展引导记录”(EBR,Extended boot record)。EBR里包含一张64B的分区表,包含最多两项(两个逻辑分区)。计算机接着读取第二个逻辑分区的第一个扇区,在从分区表里找到第三逻辑分区,以此类推。直到某个逻辑分区只有一个分区项为止。

  2.5.3启动管理器

  计算机读取MBR前446B之后,不再把控制权交个某一个分区,而是运行事先安装的“启动管理器”(boot loader),由用户选择启动哪一个操作系统。

  2.6操作系统

  控制权转交给操作系统之后,操作系统的内核首先被载入内存。

  以linux为例,先载入/boot目录下的kernal,内核加载成功后,第一个运行的程序是/sbin/init。他根据配置文件(/etc/initab)产生init进程。init进程加载系统的各个模块,比如窗口程序和网络程序,直至执行/bin/login程序,跳出登录界面,等待用户输入用户名和密码。
  

  操作系统启动成功。

 

 3.硬件架构

  3.1ARM

  ARM处理器是Acorn计算机有限公司(ARM公司)面向低预算市场设计的第一款RISC微处理器。更早称作Acorn RISC Machine。ARM处理器本身是32位设计,但也配备16位指令集,一般来讲比等价32位代码节省达35%,却能保留32位系统的所有优势。

  3.2x86

  X86是由Intel推出的一种复杂指令集,用于控制芯片的运行的程序,现在X86已经广泛运用到了家用PC领域。

  3.3x64/x86_64

  “x86-64”,有时会简称为“x64”,是64位微处理器架构及其相应指令集的一种,也是Intel x86架构的延伸产品。“x86-64”1999由AMD设计,AMD首次公开64位集以扩充给IA-32,称为x86-64(后来改名为AMD64)。其后也为英特尔所采用,现时英特尔称之为“Intel 64”,在之前曾使用过Clackamas Technology (CT)、IA-32e及EM64T。外界多使用"x86-64"或"x64"去称呼此64位架构,从而保持中立,不偏袒任何厂商。

  3.4安腾

  安腾处理器Intel安腾( Itanium)处理器应该说是大多数人不是很了解的处理器之一。基于它专为要求苛刻的企业和技术应用而设计,是瞄准高端企业市场的,并且相对Intel其他系列的处理器,价格昂贵,即使最便宜的型号价值仍然超过1000美元,对它不了解也就不出奇了。

  3.5alpha

  DEC Alpha, 也称为Alpha AXP,是64位的 RISC 微处理器,最初由DEC公司制造,并被用于DEC自己的工作站和服务器中。作为VAX的后续被开发,支援VMS操作系统,如 Digital UNIX。不久之后开放源代码的操作系统也可以在其上运行,如Linux 和 BSD 。Microsoft 支持这款处理器,直到Windows NT 4.0 SP6 ,但是从Windows 2000 beta3 开始放弃了对Alpha的支持。

  3.6UltraSparc

  在64位UltraSPARC III处理器方面,SUN公司主要有3个系列。首先是可扩展式s系列,主要用于高性能、易扩展的多处理器系统。目前UltraSPARC IIIs的频率已经达到750MHz。还有UltraSPARC Ⅳs和UltraSPARC Ⅴs等型号。其中UltraSPARC Ⅳs的频率为1GHz, UltraSPARC Ⅴs则为1.5GHz。其次是集成式 i系列,它将多种系统功能集成在一个处理器上,为单处理器系统提供了更高的效益。已经推出的UltraSPARC III i的频率达到700MHz,未来的UltraSPARC Ⅳi的频率将达到1GHz。

  3.7Power

  POWER是Performance Optimization With Enhanced RISC的缩写,是最通用的几种CPU体系结构之一,主要指:

  1. 一种由IBM公司设计开发的一种基于RISC架构的指令集体系构架(ISA),被称为POWER ISA。

  2. 是实现了POWER ISA的处理器系列的名称。POWER系列处理器在不少IBM服务器、超级计算机、小型计算机及工作站中。

  3.8M68K

  m68k是摩托罗拉的68000型cpu。

  3.9PowerPC

  PowerPC(PPC,Performance Optimization With Enhanced RISC –Performance Computing )是一种精简指令集(RISC)架构的中央处理器(CPU),其基本的设计源自IBM(国际商用机器公司)的POWER(Performance Optimized With Enhanced RISC;《IBM Connect电子报》2007年8月号译为“增强RISC性能优化”)架构。POWER是1991年,Apple(苹果电脑)、IBM、Motorola(摩托罗拉)组成的AIM联盟所发展出的微处理器架构。PowerPC是整个AIM联盟平台的一部分,并且是到目前为止唯一的一部分。但苹果电脑自2005年起,将旗下电脑产品转用Intel CPU。

 

  4.操作系统(os,Operating System)

  4.1UNIX

  UNIX 是一个强大的多用户、多任务操作系统,支持多种处理器架构,按照操作系统的分类,属于分时操作系统。UNIX 最早由Ken Thompson和Dennis Ritchie于1969年在美国AT&T的贝尔实验室开发。
  类Unix(Unix-like)操作系统指各种传统的Unix以及各种与传统Unix类似的系统。它们虽然有的是自由软件,有的是商业软件,但都相当程度地继承了原始UNIX的特性,有许多相似处,并且都在一定程度上遵守POSIX规范。类Unix系统可在非常多的处理器架构下运行,在服务器系统上有很高的使用率,例如大专院校或工程应用的工作站。
  主要版本包括:
  HP-UX:Hewlett Packard UniX,是惠普9000系列服务器的操作系统,可以在HP的PA-RISC处理器、Intel的Itanium处理器的电脑上运行。
  Solaris:Sun Microsystems研发的计算机操作系统。它被认为是UNIX操作系统的衍生版本之一。 目前Solaris属于混合开源软件。
  AIXAIX(Advanced Interactive eXecutive):是IBM基于AT&T Unix System V开发的一套类UNIX操作系统,运行在IBM专有的Power系列芯片设计的小型机硬件系统之上。
  SCO UNIX:O UNIX是SCO公司(Santa Cruz Operation Inc)所研制的多用户、多任务的功能齐全的网络操作系统。
  Unixware:

 

  4.2Linux

  基于Linux的操作系统是20世纪1991年推出的一个多用户、多任务的操作系统。它与UNIX完全兼容。Linux最初是由芬兰赫尔辛基大学计算机系学生Linus Torvalds在基于UNIX的基础上开发的一个操作系统的内核程序,Linux的设计是为了在Intel微处理器上更有效的运用。其后在理查德·斯托曼的建议下以GNU通用公共许可证发布,成为自由软件Unix变种。它的最大的特点在于他是一个源代码公开的自由及开放源码的操作系统,其内核源代码可以自由传播。[7] 
一个流行Linux发行版——Ubuntu桌面
 
  经历数年的披荆斩棘,自由开源的Linux系统逐渐蚕食以往专利软件的专业领域,例如以往计算机动画运算巨擘──SGI的IRIX系统已被Linux家族及贝尔实验室研发小组设计的九号计划与Inferno系统取代,皆用于分散表达式环境。它们并不像其他Unix系统,而是选择自带图形用户界面。九号计划原先并不普及,因为它刚推出时并非自由软件。Linux有各类发行版,通常为GNU/Linux,如Debian(及其衍生系统Ubuntu、Linux Mint)、Fedora、openSUSE等。Linux发行版作为个人计算机操作系统或服务器操作系统,在服务器上已成为主流的操作系统。
 
  4.3Mac OS
  Mac OS是一套运行于苹果Macintosh系列电脑上的操作系统。Mac OS是首个在商用领域成功的图形用户界面。Macintosh组包括比尔·阿特金森(Bill Atkinson)、杰夫·拉斯金(Jef Raskin)和安迪·赫茨菲尔德(Andy Hertzfeld)。Mac OS X 于 2001年 首次在商场上推出。它包含两个主要的部分:Darwin,是以 BSD 原始代码和 Mach 微核心 为基础,类似 Unix 的开放原始码环境。
 
  4.4windows
  Windows是由微软公司成功开发的操作系统.Windows是一个多任务的操作系统,他采用图形窗口界面,用户对计算机的各种复杂操作只需通过点击鼠标就可以实现。[7] 
Microsoft Windows系列操作系统是在微软给IBM机器设计的MS-DOS的基础上设计的图形操作系统。Windows系统,如Windows 2000、Windows XP皆是创建于现代的Windows NT内核。NT内核是由OS/2和OpenVMS等系统上借用来的。Windows可以在32位和64位的Intel和AMD的处理器上运行,但是早期的版
本也可以在DEC Alpha、MIPS与PowerPC架构上运行。 虽然由于人们对于开放源代码作业系统兴趣的提升,Windows的市场占有率有所下降,但是到2004年据库服务等一些功能。
  Windows XP在2001年10月25日发布,2004年8月24日发布服务包2,2008年4月21日发布最新的服务包3。 微软上一款操作系统Windows Vista(开发代码为Longhorn)于2007年1月30日发售[4]。Windows Vista增加了许多功能,尤其是系统的安全性和网络管理功能,并且其拥有界面华丽的Aero Glass。但是整体而言,其在全球市场上的口碑却并不是很好。Windows 8微软在2012年10月正式推出,系统有着独特的metro开始界面和触控式交互系统,2013年10月17日晚上7点,Windows 8.1在全球范围内,通过Windows上的应用商店进行更新推送。2014年1月22日,微软在美国旧金山举行发布会,正式发布了Windows 10消费者预览版。
 
  4.5IOS
  iOS操作系统是由苹果公司开发的手持设备操作系统。iOS与苹果的Mac OS X操作系统一样,它也是以Darwin为基础的,因此同样属于类Unix的商业操作系统。原本这个系统名为iPhone OS,直到2010年6月7日WWDC大会上宣布改名为iOS。截止至2011年11月,根据Canalys的数据显示,iOS已经占据了全球智能手机系统市场份额的30%,在美国的市场占有率为43%。
 
  4.6Android 
Android是一种以Linux为基础的开放源代码操作系统,主要使用于便携设备。 Android操作系统最初由Andy Rubin开发,最初主要支持手机。2005年由Google收购注资,并组建开放手机联盟开发改良,逐渐扩展到平板电脑及其他领域上。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。 2012年11月数据显示,Android占据全球智能手机操作系统市场76%的份额,中国市场占有率为90%。
 
  4.7Windows Phone
Windows Phone(简称:WP)是微软发布的一款手机操作系统,它将微软旗下的Xbox Live游戏、Xbox Music音乐与独特的视频体验集成至手机中。微软公司于2010年10月11日晚上9点30分正式发布了智能手机操作系统Windows Phone,并将其使用接口称为“Modern”接口。2011年2月,“诺基亚”与微软达成全球战略同盟并深度合作共同研发。2011年9月27日,微软发布Windows Phone 7.5。2012年6月21日,微软正式发布Windows Phone 8,采用和Windows 8相同的Windows NT内核,同时也针对市场的Windows Phone 7.5发布Windows Phone 7.8。2014年4月2日,微软在旧金山召开Build2014开发者大会。大会上微软推出Windows Phone 8.1更新,2014年8月4日晚,微软正式向WP开发者推送了WP8.1 GDR1预览版,即WP8.1 Update。
 
  4.8Chrome OS
  Chrome OS是由谷歌开发的一款基于Linux的操作系统,发展出与互联网紧密结合的云操作系统,工作时运行Web应用程序。谷歌在2009年7月7日发布该操作系统,并在2009年11月19日以Chromium OS之名推出相应的开源项目,并将Chromium OS代码开源。
  Chrome OS同时支持Intel x86以及ARM处理器,软件结构极其简单,可以理解为在Linux的内核上运行一个使用新的窗口系统的Chrome浏览器。对于开发人员来说,web就是平台,所有现有的web应用可以完美的在Chrome OS中运行,开发者也可以用不同的开发语言为其开发新的web应用。

  4.9OS/2  OS/2是由微软和IBM公司共同创造,后来由IBM单独开发的一套操作系统。OS/2是"Operating System/2"的缩写,是因为该系统作为IBM第二代个人电脑PS/2系统产品线的理想操作系统引入的。在DOS于PC上的巨大成功后,以及GUI图形化界面的潮流影响下,IBM和Microsoft共同研制和推出了OS/2这一当时先进的个人电脑上的新一代操作系统。最初它主要是由Microsoft开发的,由于在很多方面的差别,微软最终放弃了OS/2而转向开发Windows“视窗”系统。最大规模的发行版本是于1996年发行的OS/2 Warp 4.0,取名自星舰迷航记电影中的曲速引擎(Warp drive)。

 

  5.操作系统发展史

   随着计算机硬件技术的发展,主要是中、小规模集成电路,计算机对于操作系统的需求越来越高。

  1964年,由美国通用电气公司(GE)、贝尔实验室(Bell)麻省理工学院(MIT)用汇编语言共同研究开发的Multics(MULTiplexedInformation and Computing System),一套安装在大型主机(MainFrame)上多人多任务的操作系统。

  1969年,因MULTICS计划的工作进度过于缓慢,最后终究遭裁撤的命运,贝尔实验室退出此计划。当时,Ken Thompson撰写一个称为“星际旅行”(Space Travel)的游戏程序。贝尔实验室后来撤出Multics计划。Thompson只好找到一台老式PDP-7机器,重写了他的“star travel”游戏。在开发Multics的期间,Thompson创造出了名为Bon的程式语言(B语言)。Thompson花了一个月的时间开发了全新的操作系统,UNiplexed Information and Computing System(UNICS),可执行于PDP-7机器之上,后来改称为UNIX。第一版的Unix就是基于B语言来开发的。

  1971年,Bon语言在进行系统编程时不够强大,所以Thompson和Dennis Ritchie对其进行了改造,共同发明了C语言。

  1973年Thompson和Ritchie用C语言重写了UNIX。安装于PDP-11的机器之上。

  注:装了UNIX的PDP-11最早被安装在Bell Lab里供大家日常使用。很快大家就发现Ken爷爷总能进入他们的帐户,获得最高权限。Bell Lab里的科学家都心比天高,当然被搞得郁闷无比。于是有高手怒了,跳出来分析了UNIX代码,找到后门,修改代码,然后重新编译了整个UNIX。就在大家都以为“这个世界清净了”的时候,他们发现Ken爷爷还是轻而易举地拿到他们的帐户权限,百思不解后,只好继续郁闷。谁知道这一郁闷,就郁闷了14年,直到Ken爷爷获得图灵奖之后,发表自己获奖感言时道出个其中缘由。原来,代码里的确有后门,但后门不在Unix代码里,而在编译Unix代码的C编译器里。

  1975年,Thompson 受邀回母校Berkeley当客座教授。一位密执安州大学的毕业生来到了Berkeley,他的名字就是Bill Joy。Joy 和同学 Chuck Haley (tar 就是他写的)喜欢一起泡在计算机房里面,Thompson也时常插上一脚。他们成功地改善了 Pascal 的解译与侦错的能力,同时还提升了解译与执行的速度。

  1976 年夏天,Thompson 结束了他的休假回到 Bell Labs。此时的 Joy 和 Haley 已经开始着手探索UNIX kernal,甚至还做了一些修改。1977 年初,Joy 制作了一卷磁带,上头写着"Berkeley Software Distribution.",这就是 BSD。其中包含新的 Pascal compiler 与 ex 编辑器。

  1981年,Microsoft公司与SCO公司联合开发的基于INTEL80x86系列芯片系统的微机UNIX版本——XENIX 是。由于开始没有得到AT&T的授权,所以另外起名叫XENIX,采用的标准是AT&T的UNIX SVR3 (System V Release 3)。

  1980-1981年,西雅图电脑产品公司程序员蒂姆·帕特森(Tim Paterson)花费了四个月时间编写出了86-DOS操作系统。

  1981年7月,微软以五万美元的代价向西雅图公司购得本产品的全部版权,并将它更名为MS-DOS。随后,IBM发布了第一台个人计算机,当时采用的操作系统是西雅图公司的86-DOS 1.14,但微软很快改进了MS-DOS,并使它成功地成为IBM PC采用的操作系统。

  1981年7月成为IBM PC上 第一个作业系统。

  1981年8月12日,正式发布MS-DOS 1.0和PC-DOS 1.0。

  1976年4月1日,乔布斯、沃兹及乔布斯的朋友龙·韦恩签署了一份合同,决定成立一家电脑公司。

  1976年7月,一个偶然的机遇给“苹果“公司带来了转机。零售商保罗·特雷尔(Paul Jay Terrell)来到了乔布斯的车库,当看完乔布斯演示完电脑后,决定订购50台整机,这是做成的第一笔生意。

  1977年4月,乔布斯在美国第一次计算机展览会展示了苹果Ⅱ号样机。

  1973年4月,第一个可操作的Alto电脑在XeroxPARC(PaloAltoResearchCenter)完成。Alto是第一个把计算机所有元素结合到一起的图形界面操作系统。它使用3键鼠标、位运算显示器、图形窗口、以太网络连接。

  1981年,施乐推出了他们的“施乐之星(Xerox Star)”,这台电脑运行着用户图形界面,鼠标,位图显示,窗口以及桌面概念,但它运行缓慢。

  1979年12月,乔布斯和同事们参观了施乐PARC的研究成果,看到这些研究时,苹果的那群人都惊呆了,而乔布斯更是兴奋的跳来跳去,手舞足蹈,特斯拉回忆说,他不知道他有没有看清楚整个演示,但乔布斯问了很多问题,而且每展示一部分,乔布斯都会发出惊叹!这是乔布斯开始图形操作系统

  1984年1月24日,苹果在迪安扎社区学院的弗林特礼堂举行发布会,大会上发布了具有图形用户界面的Macintosh。

  AT&T 的 USL 在 1991 年正式转变了一家公司。

  1993年,微软收购了DEC公司基于VAX的VAX-vms操作系统,将其融合到自身的dos系统中,开发出了windows NT((New Technology)。

  BSD分支为FreeBSD(PC)  OpenBSD(安全)  NetBSD(服务)。

  Bill Joy成立Sun MicroSystem公司。Sun的操作系统最初叫做SunOS,后来SunOs改名为Solaris;

  GNU计划,又称革奴计划,是由Richard Stallman在1983年9月27日公开发起的。它的目标是创建一套完全自由的操作系统。为保证GNU软件可以自由地“使用、复制、修改和发布”,所有GNU软件都有一份在禁止其他人添加任何限制的情况下授权所有权利给任何人的协议条款,GNU通用公共许可证(GNU General Public License,GPL)。即“反版权”(或称Copyleft)概念。

  1985年Richard Stallman又创立了自由软件基金会(Free Software Foundation)来为GNU计划提供技术、法律以及财政支持。

  1990年,GNU计划已经开发出的软件包括了一个功能强大的文字编辑器Emacs 。GCC(GNU Compiler Collection,GNU编译器集合),是一套由 GNU 开发的编程语言编译器。以及大部分UNIX系统的程序库和工具。唯一依然没有完成的重要组件就是操作系统的内核(称为HURD)。

  1991年Linus Torvalds编写出了与UNIX兼容的Linux操作系统内核并在GPL条款下发布。

  1992年Linux与其他GNU软件结合,完全自由的操作系统正式诞生。该操作系统往往被称为“GNU/Linux”或简称Linux。

GNU 包含3个协议条款,

  GPL:GNU通用公共许可证(GNU General Public License)

  LGPL:GNU较宽松公共许可证 (GNU Lesser General Public License), ) ,旧称 GNU Library   General Public License (GNU 库通用公共许可证);

  GFDL : GNU自由文档许可证(GNU Free Documentation License )的缩写形式。

Linux的基本原则(www.kernel.org

  1.目的单一的小程序组成;组合小程序完成复杂任务

  2.一切皆文件:设备访问入口

  3.尽量避免捕获用户接口

  4.配置文件保存为纯文本格式

Linux的一些重要发行商(release):

  RedHat   (rpm)

  SLS

  Debian    (dpt)

  SUSE    Novell(Netware) 

  OpneSUSE    基于SUSE

  Ubuntu    基于Debian

  Mint      基于Ubuntu

  CentOS:Community ENTerprise OS(社区版的redhat)

  Fedora:

  Mandriva

 

   6.操作系统组成

   6.1硬件(运算器、控制器、存储器、输出设备、输入设备)

  运算器与控制器统称曾为CPU,储存器通常称为内存。

  由于CPU的频率远大于内存的工作频率,所以通常我们将CPU通过前端总线前端总线FSB连接到北桥芯片(North Bridge Chipset)上,再由北桥与内存相连。

  南桥:          低速总线控制器   I/O-北桥
  北桥:          高速总线控制器   内存-CPU(南桥-CPU)

  有时为了提高计算机的运行速度,可以在北桥上连接固态硬盘,实现硬盘告诉读取。

  计算机采用中断系统(interrupt)对突发状况(例如:键盘输入)进行处理。由中断控制器根据中断向量对不同的中断进行控制。 

  由于CPU,内存频率不同,在中间加入缓存(cache)实现计算机提速
  CPU =》 寄存器 =》 一级缓存 =》 二级缓存 =》 内存
  缓存前提,程序的局部性原理:时间局部性(访问过的数据可能还会被访问),空间局部性(周围的数据可能被访问)。

  6.2Kernel:内核(提供系统调用)

  内核,是一个操作系统的核心。是基于硬件的第一层软件扩充,提供操作系统的最基本的功能,是操作系统工作的基础,它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。

 

内核功能:
      进程管理
      内存管理
      文件系统
      网络功能
      硬件驱动
      安全机制

    ....
   

  6.3library:API

  由操作系统实现提供的所有系统调用所构成的集合即程序接口或应用编程接口(Application Programming Interface,API)。是应用程序同系统之间的接口。

  操作系统的主要功能是为管理硬件资源和为应用程序开发人员提供良好的环境来使应用程序具有更好的兼容性,为了达到这个目的,内核提供一系列具备预定功能的多内核函数,通过一组称为系统调用(system call)的接口呈现给用户。系统调用把应用程序的请求传给内核,调用相应的的内核函数完成所需的处理,将处理结果返回给应用程序。

  6.4集成开发环境(IDE,Integrated Development Environment,)

  Dll:Dynamic Link Library  动态链接库(windows)
  DSO:Dynamic shared object  动态共享对象(linux)

  6.5shell

   Shell俗称壳(用来区别于核),是指“提供使用者使用界面”的软件(命令解析器)。

  6.5.1图形界面shell(Graphical User Interface shell 即 GUI shell)

    windows
    x-windows
      Gnome
      KDE
      Xface

 

  6.5.2命令行式shell(Command Line Interface shell ,即CLI shell)

  Bourne Shell

  首个重要的标准Unix Shell是1970年底在V7 Unix(AT&T第7版)中引入的,并且以它的创始科技部基础条件平台“国家气象网络计算应用节点建设”(2004DKA50730)资助者Stephen Bourne的名字命名。Bourne shell 是一个交换式的命令解释器和命令编程语言。Bourne shell 可以运行为login shell或者login shell的子shell(subshell)。只有login命令可以调用Bourne shell作为一个login shell。此时,shell先读取/etc/profile文件和$HOME/.profile文件。/etc/profile文件为所有的用户定制环境,$HOME/.profile文件为本用户定制环境。最后,shell会等待读取你的输入。

  C Shell

  Bill Joy于20世纪80年代早期,在伯克利的加利福尼亚大学开发了C shell。它主要是为了让用户更容易的使用交互式功能,并把ALGOL风格的语法结构变成了C语言风格。它新增了命令历史、别名、文件名替换、作业控制等功能。

  Korn Shell

  有很长一段时间,只有两类shell供人们选择,Bourne shell用来编程,C shell用来交互。为了改变这种状况,AT&T的bell实验室David Korn开发了Korn shell。ksh结合了所有的C shell的交互式特性,并融入了Bourne shell的语法。因此,Korn shell广受用户的欢迎。它还新增了数学计算,进程协作(coprocess)、行内编辑(inline editing)等功能。Korn Shell 是一个交互式的命令解释器和命令编程语言.它符合POSIX——一个操作系统的国际标准.POSIX不是一个操作系统,而是一个目标在于应用程序的移植性的标准——在源程序一级跨越多种平台。

  Bourne Again Shell (bash)

  bash是GNU计划的一部分,用来替代Bourne shell。它用于基于GNU的系统如Linux.大多数的Linux(Red Hat,Slackware,Caldera)都以bash作为缺省的shell,并且运行sh时,其实调用的是bash。

  POSIX Shell

  POSIX shell 是Korn shell的一个变种. 当前提供POSIX shell的最大卖主是Hewlett-Packard。在HP-UX 11.0,POSIX shell 就是/bin/sh,而bsh是/usr/old/bin/sh.

  Windows PowerShell

  Windows PowerShell是一种新的交互式的命令行和基于任务脚本编写技术,它使信息技术(IT) 管理员能够全面地自动操作和控制系统管理任务,从而提高了管理员的生产力。Windows PowerShell 包括多个系统管理实用工具、一致的语法和命名惯例、及对普通管理数据更好地导航,如登记、证书存储 或 Windows Management Instrumentation (WMI)。Windows PowerShell 还专门针对 IT 管理,提供直观的脚本编写语言。

 

 

 

本文出自 “Dodge” 博客,请务必保留此出处http://www.cnblogs.com/Dodge/articles/4263345.html