计算机中应用程序和操作系统的不同点,计算机基础系列之何为操作系统

what's the 操作系统?

现代的计算机系统主要是由一个或者多个处理器,主存、硬盘、键盘、鼠标、显示器、打印机、网络接口及其他输入输出设备组成。现代计算机的组成部分极其复杂,我们不可能全部了解完再去写开发,所以就需要用到操作系统。程序员只需要做自己的本职开发工作,应用软件直接使用操作系统提供的功能来间接使用硬件。

操作系统位于计算机硬件与应用软件之间,本质也是一个软件。操作系统由操作系统的内核(运行于内核态,管理硬件资源)以及系统调用(运行于用户态,为应用程序员写的应用程序提供系统调用接口)两部分组成,所以,单纯的说操作系统是运行于内核态的话,是不准确的。

操作系统的功能主要有两个:

隐藏了丑陋的硬件调用接口,为应用程序员提供调用硬件资源的更好,更简单,更清晰的模型(系统调用接口)。应用程序员有了这些接口后,就不用再考虑操作硬件的细节,专心开发自己的应用程序即可。比如,磁盘资源的抽象是文件系统(C盘,D盘,E盘...下的目录及文件),有了文件的概念,我们直接打开文件,读或者写就可以了,无需关心记录是否应该使用修正的调频记录方式,以及当前电机的状态等细节。操作系统的实际客户是应用程序(应用程序员负责开发应用程序,因而也可以说应用程序员是操作系统的客户)。

将应用程序对硬件资源的竞态请求变得有序化。

在 WIndows 软件中,键盘输入、显示器输出等并不是直接向硬件发送指令。而是通过向 Windows 发送指令实现的。因此,程序员就不用注意内存和 I/O 地址的不同构成了。Windows 操作的是硬件而不是软件,软件通过操作 Windows 系统可以达到控制硬件的目的。

Windows 操作系统克服了CPU以外的硬件差异

计算机的硬件并不仅仅是由 CPU 组成的,还包括用于存储程序指令的数据和内存,以及通过 I/O 连接的键盘、显示器、硬盘、打印机等外围设备。

在 WIndows 软件中,键盘输入、显示器输出等并不是直接向硬件发送指令。而是通过向 Windows 发送指令实现的。因此,程序员就不用注意内存和 I/O 地址的不同构成了。Windows 操作的是硬件而不是软件,软件通过操作 Windows 系统可以达到控制硬件的目的。

a4b46ec7aedf90eae5a961a98a5971c0.png

不同操作系统的 API 差异性

同样机型的计算机,可安装的操作系统类型也会有多种选择。例如:AT 兼容机除了可以安装 Windows 之外,还可以采用 Unix 系列的 Linux 以及 FreeBSD (也是一种Unix操作系统)等多个操作系统。当然,应用软件则必须根据不同的操作系统类型来专门开发。CPU 的类型不同,所对应机器的语言也不同,同样的道理,操作系统的类型不同,应用程序向操作系统传递指令的途径也不同。

应用程序向系统传递指令的途径称为 API(Application Programming Interface)。Windows 以及 Linux 操作系统的 API,提供了任何应用程序都可以利用的函数组合。因为不同操作系统的 API 是有差异的。所以,如何要将同样的应用程序移植到另外的操作系统,就必须要覆盖应用所用到的 API 部分。

键盘输入、鼠标输入、显示器输出、文件输入和输出等同外围设备进行交互的功能,都是通过 API 提供的。

这也就是为什么 Windows 应用程序不能直接移植到 Linux 操作系统上的原因,API 差异太大了。

在同类型的操作系统下,不论硬件如何,API 几乎相同。但是,由于不同种类 CPU 的机器语言不同,因此本地代码也不尽相同。

操作系统的发展

第一代计算机(1940~1955):真空管和穿孔卡片           特点:没有操作系统的概念,所有的程序设计都是直接操控硬件。优点:程序员在申请的时间段内独享整个资源,可以即时地调试自己的程序(有bug可以立刻处理)。缺点:浪费计算机资源,一个时间段内只有一个人用。

第二代计算机(1955~1965):晶体管和批处理系统        特点:有了操作系统的概念,有了程序设计语言。优点:批量处理,节约时间。缺点:整个流程需要人参与控制,计算的过程仍然是顺序计算,程序员原来独享一段时间的计算机,现在必须被统一规划到一批作业中,等待结果和重新调试的过程都需要等同批次的其他程序都运作完才可以(这极大的影响了程序的开发效率,无法及时调试程序)。

第三代计算机(1965~1980):集成电路芯片和多道程序设计         第三代计算机的操作系统广泛应用了第二代计算机的操作系统没有的关键技术——多道技术(需要记住的知识)。cpu在执行一个任务的过程中,若需要操作硬盘,则发送操作硬盘的指令,指令一旦发出,硬盘上的机械手臂滑动读取数据到内存中,这一段时间,cpu需要等待,时间可能很短,但对于cpu来说已经很长很长,长到可以让cpu做很多其他的任务,如果我们让cpu在这段时间内切换到去做其他的任务,这样cpu不就充分利用了吗。这正是多道技术产生的技术背景。多道技术中的多道指的是多个程序,多道技术的实现是为了解决多个程序竞争或者说共享同一个资源(比如cpu)的有序调度问题,解决方式即多路复用,多路复用分为时间上的复用和空间上的复用。空间上的复用:将内存分为几部分,每个部分放入一个程序,这样,同一时间内存中就有了多道程序。时间上的复用:当一个程序在等待I/O时,另一个程序可以使用cpu,如果内存中可以同时存放足够多的作业,则cpu的利用率可以接近100%。空间上的复用最大的问题是:程序之间的内存必须分割,这种分割需要在硬件层面实现,由操作系统控制。如果内存彼此不分割,则一个程序可以访问另外一个程序的内存。为了解决这个问题,第三代计算机广泛采用了必须的保护硬件(程序之间的内存彼此隔离)。

第四代计算机(1980~至今):个人计算机

Windows 操作系统的特征

Windows 操作系统是世界上用户数量最庞大的群体,下面列举了一些 Windows 操作系统的特性

Windows 操作系统有两个版本:32 位和 64 位

通过 API 函数集成来提供系统调用

提供了采用图形用户界面的用户界面

通过 WYSIWYG 实现打印输出,WYSIWYG 其实就是 What You See Is What You Get ,值得是显示器上显示的图形和文本都是可以原样输出到打印机打印的。

提供多任务功能,即能够同时开启多个任务

提供网络功能和数据库功能

通过即插即用实现设备驱动的自设定

32位操作系统

32 位操作系统表示的是处理效率最高的数据大小。Windows 处理数据的基本单位是 32 位。这与最一开始在 MS-DOS 等 16 位操作系统不同,因为在 16 位操作系统中处理 32 位数据需要两次,而 32 位操作系统只需要一次就能够处理 32 位的数据,所以一般在  Windows 上的应用,它们的最高能够处理的数据都是 32 位的。

比如,用 C 语言来处理整数数据时,有 8 位的 char 类型,16位的 short 类型,以及32位的 long 类型三个选项,使用位数较大的 long 类型进行处理的话,增加的只是内存以及磁盘的开销,对性能影响不大。

现在市面上大部分都是64位操作系统了,64位操作系统也是如此。

通过 API 函数集来提供系统调用

Windows 是通过名为 API 的函数集来提供系统调用的。API 是联系应用程序和操作系统之间的接口,全称叫做 Application Programming Interface,应用程序接口。

当前主流的 32 位版 Windows API 也称 Win32 API,之所以这样命名,是需要和不同的操作系统进行区分,比如最一开始的 16 位版的 Win16 API,和后来流行的 Win64 API 。

API 通过多个 DLL 文件来提供,各个 API 的实体都是用 C 语言编写的函数。所以,在 C 语言环境下,使用 API 更加容易,比如 API 所用到的 MessageBox() 函数,就被保存在了 Windows 提供的 user32.dll 这个 DLL 文件中。

提供采用了 GUI 的用户界面

GUI(Graphical User Interface) 指得就是图形用户界面,通过点击显示器中的窗口以及图标等可视化的用户界面,举个例子:Linux 操作系统就有两个版本,一种是简洁版,直接通过命令行控制硬件,还有一种是可视化版,通过光标点击图形界面来控制硬件。

通过 WYSIWYG 实现打印输出

WYSIWYG 指的是显示器上输出的内容可以直接通过打印机打印输出。在 Windows 中,显示器和打印机被认作同等的图形输出设备处理的,该功能也为 WYSIWYG 提供了条件。

借助 WYSIWYG 功能,程序员可以轻松不少。最初,为了是现在显示器中显示和在打印机中打印,就必须分别编写各自的程序,而在 Windows 中,可以借助 WYSIWYG 基本上在一个程序中就可以做到显示和打印这两个功能了。

提供多任务功能

多任务指的就是同时能够运行多个应用程序的功能,Windows 是通过时钟分割技术来实现多任务功能的。时钟分割指的是短时间间隔内,多个程序切换运行的方式。在用户看来,就好像是多个程序在同时运行,其底层是 CPU 时间切片,这也是多线程多任务的核心。CPU分片,也是时钟分割

780565c5da535fb6792dee1f266aa0d1.png

提供网络功能和数据库功能

Windows 中,网络功能是作为标准功能提供的。数据库(数据库服务器)功能有时也会在后面追加。网络功能和数据库功能虽然并不是操作系统不可或缺的,但因为它们和操作系统很接近,所以被统称为中间件而不是应用。意思是处于操作系统和应用的中间层,操作系统和中间件组合在一起,称为系统软件。应用不仅可以利用操作系统,也可以利用中间件的功能。

604b9bc4e20188ece809996ab791b779.png

相对于操作系统一旦安装就不能轻易更换,中间件可以根据需要进行更换,不过,对于大部分应用来说,更换中间件的话,会造成应用也随之更换,从这个角度来说,更换中间件也不是那么容易。

通过即插即用实现设备驱动的自动设定

即插即用(Plug-and-Play)指的是新的设备连接(plug) 后就可以直接使用的机制,新设备连接计算机后,计算机就会自动安装和设定用来控制该设备的驱动程序。设备驱动是操作系统的一部分,提供了同硬件进行基本的输入输出的功能。键盘、鼠标、显示器、磁盘装置等,这些计算机中必备的硬件的设备驱动,一般都是随操作系统一起安装的。

有时 DLL 文件也会同设备驱动文件一起安装。这些 DLL 文件中存储着用来利用该新追加的硬件 API,通过 API ,可以制作出运行该硬件的心应用。

总结:

操作系统是有古人类写的为现代人类提供方便的软件,要写出一份完善的操作系统是一件非常人能做到的事。

操作系统的作用是使我们在不了解硬件为何物的情况下能方便的对硬件进行操控,有了操作系统应用程序员就不用再考虑操作硬件的细节,专心开发自己的应用程序即可,用户使用电脑进行日常操作也显得边界无疑。重点是,操作系统能将应用程序对硬件资源的竞态请求变得有序化,即多路复用。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
09年自考管理系统计算机应用简答 第一章 计算机应用与企业管理现代化   1. 简述管理信息的作用?* 本P10   2. 何为企业物流和信息流?二者有什么区别和联系?   3. 管理信息具有哪些特点?* 本P36   4. 简述管理信息常用的分类方法?P14   5. 工业企业的固定信息主要由哪些部分组成?P15   6. 简述管理信息处理的内容?* 本P48   7. 什么是原始信息收集和二次信息收集?两种收集的关键问题是什么?P15   8. 试述现代企业对信息处理的要求* 本P61   9. 简述计算机应用对企业管理现代化的促进作用 * 本P72 2000年考简答:什么叫管理工作标准化?包括什么内容?   10. 简述管理信息系统阶段的主要特点 P18   11. 试述半结构化决策问题的特征 P18   12. 简述决策支持系统的特点(简述DSS的特点?)* 本P96   13. 简述DSS的基本结构 P19   14. 简述主管支持系统主要功能 P19   15. 简述计算机集成制造系统的特点(简述CIMS的特点?)* 本P84   16. 简述发展电子数据交换(EDI)的作用 P20   17. 管理系统计算机应用,应具备哪些科学管理的基础 P20   18. 试述在建立企业管理信息系统过程企业领导的作用 P21   19. 简述在建立企业管理信息系统过程,对管理人员培训的层次和内容 P22   20. 试述商业企业管理信息系统的层次组成及主要功能 P22   第二章 数据库的基本知识   21. 什么是数据库应用系统 P26   22. 什么是数据库?特点是什么? P27   23. 关系数据库模型的特点是? P27   24. 什么是数据模型?有哪几种常用的数据模型?P27   25. 什么是数据库管理系统?简单说明它的组成?P27   26. 什么是数据库系统?它与文件系统有什么区别?P27   第三章 FoxBASE的命令与操作   27. FoxBASE属于哪类数据模型?有什么特点?P49   28. FoxBASE有哪几种工作方式?他们的特点?P49   29. FoxBASE的命令格式是怎样的?各部分的作用如何?P49   30. FoxBASE可以使用的数据类型有几种?各种数据类型的特点和规定有哪些?P50   31.字段变量与内存变量的区别?数组变量与简单变量的区别?P50   32.怎样定义变量?怎样给变量赋值?P50   33.表达式有哪几种类型?由什么因素决定其类型?P51   34.什么叫数据匹配?为什么要数据匹配?P51   35.库文件名和字段名的命名各有何异同?P52   36.怎样打开和关闭数据库文件?为什么要打开和关闭数据库文件?P52   37.可以用什么办法向数据库文件追加记录?举例说明 P52   38.修改库文件记录的命令有哪几条?他们各自的特点是什么?试比较他们。 P52   第四章 FoxBASE的程序设计   39.简述结构化程序的主要特点、基本原则和基本步骤?P76   40.结构化程序设计的三种程序结构是什么?各有的特点?P77   41结构化程序设计的基本工具是什么?怎样使用?P77   42在FoxBASE怎样建立程序和修改程序?P77   43在FoxBASE怎样调试程序?有哪些常用的调试命令?P78   第五章 管理信息系统开发概论   44简述系统开发的任务?* 本P11   45简述系统开发的特点?* 本P24   46简述系统开发的指导原则? P93   47系统开发过程,应如何体现系统的整体性原则?*(简述整体性开发系统的过程?) 本P36   48简述系统开发过程文档的作用*(简述系统开发文档的作用?)本P48   49简述系统开发的主要方法及他们的特点 P95   50简单分析系统生命周期法的主要优缺点?(简述生命周期法的特点?)* 本P96   51简述原型法的主要优点?(简述原型法的特点?)* 本P85   52简述CASE的目标和作用?*(简述CASE的作用?) 本P61   53系统开发的主要方式有哪些? P98   54简述系统开发各种方式的优缺点?P98   55简述系统开发领导小组的职责? P99   56简述系统开发系统分析员的任务及应具备的素质?P99   57简述在系统开发程序设计员和企业管理人员的任务和应具备的素质?P100   58简述系统开发过程进行项目管理的必要性和项目管理的方法?P100   第六章 系统分析   59简述可行性分析小组人员和工作内容?P115   60简述系统总体方案基本内容?* 本P12   61方案的可行性应从哪些方面进行分析和评价?*(简述可行性分析的基本内容?)本P25   62可行性分析报告论证可能提出的建议有哪几种?P116   63试述现状调查参加人员和常用的调查方法? P116   64试述在系统分析,对描述、分析系统的工具(各种图、表和方法)的要求? P116   65试述数据流成图的作用与特点?*(简述数据流成图的特点?) 本P36   66试述采用分层次数据流成图来描述系统,有哪些优点?P117   67试述数据字典编写的基本要求? P117   68简述手工数据字典条目的形式和主要内容?*(简述数据字典的基本内容?)本P48   第七章 系统设计   69试述计算机应用软件系统具有可修改性的重要意义? P137   70简述模块间调用的规则?P138   71何谓数据凝聚的模块?P138   72何谓功能凝聚的模块?P138   73简述模块偶合的类型?P139   74简述在关系数据库关系具有的性质?P139   75简述E-R图实体之间联系的类型?P139   76简述由E-R图向关系模型转换的规则?P140   77简述计算机主机选型的步骤?P140   78系统软件主要包括哪些内容?P140   79常用的操作系统有哪几种?P141   80简述计算机网络的功能?P141   81简述局域网拓扑结构分哪几种,及他们的性能比较?P141   82输入数据校验的主要方法有哪些? P141   83通过校验位可以发现代码的哪些错误? P142   第八章 系统实施   84简述系统实施阶段的重要性及主要活动?P156   85系统实施应作好哪些准备工作?P156   86试述系统实施阶段对用户培训的内容和方式? P157   87简述程序设计的质量要求?P157   88为什么要进行系统测试?P158   89简述系统测试的基本原则?P158   90如何设计测试用例?P158   91简述系统测试可能发生的错误类型? P159 2000年考简答   92简述系统测试的步骤?P159   93试比较系统转换各种方式的优缺点?P160   94简述用户操作手册包含的内容?P160   95简述程序说明书的主要内容?P161   第九章 系统的管理与维护   96试述企业信息组织,集与分散相结合的工作方式?P169   97试述我国信息心在企业组织结构的地位?P170   98简述信息心各类人员的职责和素质要求?P170   99试述保证信息系统安全性与质量控制的重要意义?P171   100简述物理安全控制的内容?P171   101简述安全控制人员及管理控制的内容?P172   102为什么要进行存取控制?P172   103简述存取控制的基本方法?P172   104简述应用软件系统维护的类型?P172   105试述数据库重组织与重构造的目的和工作内容?P173

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值