“操作系统”,简称“OS”,是一个包含多个部分和多个目标的大型程序。

它的第一项工作是在你第一次打开计算机时启动并运行计算机。它的另一项工作是启动和结束应用程序,并给每个程序一个运行时间。它是那台计算机上所有其他程序的“老大”。当RAM中有多个程序时,在它们之间切换的是操作系统。它允许一个程序运行一小段时间,然后运行另一个程序,然后运行另外一个程序。如果RAM中有十个程序,并且每个程序每次运行百分之一秒,那么每个程序将能够在这段时间内执行数百万条指令,每秒执行几次。看起来所有十个程序都在同时运行,因为每个程序都能以比眼睛更快的速度完成任务.

操作系统还向应用程序提供服务。当应用程序需要从磁盘读取、写入磁盘或在屏幕上绘制字母时,它不必执行完成任务所需的所有复杂I/O指令。操作系统有许多小例程,它一直保存在RAM中,用于此类目的。

应用程序要使用其中一个例程,只需要在寄存器中加载一些信息,然后跳转到正确的OS例程的地址。下面是一个如何实现的示例。假设您想在屏幕上绘制一个角色。首先,将所需字符的ASCII码放入R0。然后将希望它在屏幕上出现的行和列编号放入R1和R2。这里有一个棘手的部分:您将应用程序的下一条指令的地址放入R3。现在只需跳转到OS例程。例程将处理在屏幕上绘制字符的所有细节,然后它的最后一条指令将是JMPR R3。因此,这些例程可以从任何应用程序“调用”,完成后,例程将跳回调用它的应用程序中的下一条指令.

让OS执行所有I/O功能有几个原因。一个是它使编写应用程序更容易,程序员甚至不需要知道外围设备的实际工作方式。另一个原因是,如果每个应用程序都有自己的所有I/O例程的副本,那么将浪费大量RAM。其中一个最重要的原因是,操作系统可以检查程序是否应该被允许做它要求做的事情。这是OS作为老板的另一项工作的一部分。

操作系统的核心基本上是一个指令循环,它提出以下问题:我需要输入什么吗?我需要输出什么吗?我需要让一些程序运行吗?

如果所有这些问题的答案都是否定的,那么CPU只是在这个循环中反复执行指令,每秒执行数百万次。当有事情要做时,它跳到处理它的程序的开头,当完成后,它跳回到这个循环,在那里操作系统“等待”其他事情。

这是一个更大的RAM版本的图,显示了操作系统和其他几个程序可能占用的RAM部分。

在每个程序的RAM中,都有使程序工作的所有指令代码。每个程序可以被分成自己的主循环,以及许多用于它需要执行的各种任务的例程。如上所述,操作系统还具有可由其他程序调用的例程。

每个程序还使用部分“地址空间”存储正在处理的数据。例如,计算器需要有几个字节,用于存储用户输入的数字。纸牌需要一些字节来指定哪些牌在哪个位置。字处理器需要一些RAM来存储组成您正在处理的文档的所有ASCII代码。操作系统还需要字节,以便存储字体、跟踪应用程序的加载位置、接收从磁盘读取的数据,以及执行其他用途。

这就是普通电脑里发生的事情。RAM中有许多不同的程序和数据区域。OS跳转到程序,程序跳转到例程,例程跳转到子程序。每个程序处理其数据或计算某些内容或执行I/O操作。当每一个完成时,它会跳回到它的来源。CPU一次执行一个程序中的一条指令,如果它们被智能地编写,每个程序都会一条一条地完成任务,而不会干扰其他程序。

如果我们的计算机包括一个“中断系统”,就像我们在前几章所描述的那样,每当有人按下键盘上的键或移动鼠标时,就会有一个中断,它会调用操作系统的一部分来确定是哪个I/O设备导致了中断,然后调用适当的例程来处理它。完成后,CPU将继续执行中断发生时运行的任何程序的下一条指令。

这一切看起来都很复杂,一眨眼之间就执行了数百万和数十亿条指令。有一些组织程序的方法和良好的编程实践可以使其更容易理解。

通俗理解计算机操作系统的作用相关推荐

  1. 通俗理解PCA降维作用

    作者 | 黄礼泊,广东工业大学数据挖掘与信息检索实验室(DMIR),机器学习与人工智能,目前研究方向最优化,将最优化理论运用在图像检索.压缩感知生物信号处理等领域. ▌概述   本文主要介绍一种降维方 ...

  2. 有效地使用计算机操作系统的教学设计与反思,操作系统的概述教学设计

    以下为<操作系统的概述教学设计>的无排版文字预览,完整格式请下载 下载前请仔细阅读文字预览以及下方图片预览.图片预览是什么样的,下载的文档就是什么样的. 课题:计算机的操作系统 教学目的: ...

  3. 【干货】通俗理解神经网络中激活函数作用

    推荐阅读时间8min~13min 主要内容:通俗理解激活函数,主要来自我在学习会的slides,讲解了激活函数的非线性能力和组合特征的作用 下面我分别对激活函数的两个作用进行解释. 1 加入非线性因素 ...

  4. 计算机操作系统的目标和作用

    操作系统(Operating System,简称OS),是控制和管理计算机硬件和软件资源,合理地组织计算机工作流程,以及方便用户的程序的集合.它是系统软件的核心,是计算机处理时必不可少的非常重要的软件 ...

  5. 社会工程学属于计算机吗,对社会工程学的通俗理解 -电脑资料

    社会工程学的定义? 个人见解: 通过取得信任的方式欺骗对方 这个首先你要有拥有以下几点: 1.取得对方信任的同时 有可能还会和对方产生感情!如果就因为这个打断你社工的道路建议你就不要学了.要冷血!随机 ...

  6. 计算机操作系统还能这样玩?这一篇计算机操作系统的总结为你保驾护航(零风险、高质量、万字长文、建议收藏)

    操作系统目录 1.什么是操作系统 2.计算机操作系统的基本特征 2.1.并发 2.2.共享 2.3.虚拟 2.4.异步 3.操作系统的发展 4.OS的运行机制和体系结构 4.1.运行机制 4.1.1. ...

  7. 通俗理解tcp/ip的三次握手和四次分手

    转载地址:https://github.com/jawil/blog/issues/14 最近在恶补计算机网络方面的知识,之前对于TCP的三次握手和四次分手也是模模糊糊,对于其中的细节更是浑然不知,最 ...

  8. 计算机操作系统中程序的功能是,计算机操作系统的功能和分类研究

    摘 要:计算机操作系统是一种系统的体系,是计算机运行的核心,同时它精确的掌管着计算机软件,资源硬件,精确的管理着计算机的各项工作,组织计算机工作的各个重要的流程.随着时代的发展和科技的日新月异,计算机 ...

  9. 《计算机系统:系统架构与操作系统的高度集成》——1.3 操作系统的作用

    本节书摘来自华章计算机<计算机系统:系统架构与操作系统的高度集成>一书中的第1章,第1.3节,作者:(美)拉姆阿堪德兰(Ramachandran, U.)(美)莱希(Leahy, W. D ...

最新文章

  1. 使用java.util.zip对字符串进行压缩和解压缩
  2. Oracle数据库中的违规策略规则的修正
  3. 接上,优化滚动的效率
  4. An example of EXPORT / IMPORT usage - in office integration and odata metadata model cache
  5. 什么样的人贷款更容易?
  6. linux各版本的发布时间,linux服务器-红帽企业Linux各个版本发布时间和内核版本...
  7. 路飞学城django
  8. Spring Boot使用自定义的properties
  9. python调用shell命令 批量执行python程序
  10. 【QT5】解决 QT 界面中文显示乱码问题
  11. python自动加减法_python实现随机加减法生成器
  12. 【论文笔记】Deep Learning on Graphs: A Survey
  13. leetcode 1925. Count Square Sum Triples(python)
  14. 网联清算平台45家股东名单出炉【附股权明细表】
  15. Linux设备模型(1)_基本概念
  16. c++ 判断回文,说实话,累赘
  17. Qt QLineEdit单行输入框用法详解
  18. Quora商业模式发展的七种可能性
  19. 背包九讲之一:01背包问题
  20. MATLAB中的利用polyfit()函数与polyval()函数拟合

热门文章

  1. Linux tar解压缩命令详解
  2. 小白福音——VBA编程常用——命令三百例
  3. java枚举类是怎么初始化的,为什么说枚举类是线程安全的
  4. 【爬虫】网页抓包工具--Charles的使用教程
  5. python富翁与穷人_富人家的孩子怎样看待穷人家的孩子?
  6. W ndows7怎么进入BlOS,windows7怎么打开bios设置CPU?
  7. 使用百度地图实现车辆轨迹回放
  8. python--lintcode109.数字三角形(动态规划)
  9. Java15来了!!!一文详解JDK15新特性
  10. python整形变量赋初值_为了给整型变量a、b、c赋初值10,下面正确的python语句是...