计算机操作系统-操作系统的定义

计算机系统的层次结构 用户 应用程序 操作系统 纯硬件:CPU、RAM、ROM 其中,操作系统:从操作系统层往两侧看:负责管理协调硬件、软件等计算机资源的工作 从上往下看:为上层的应用程序和用户提供简单易用的服务 从下往上看:操作系统系统软件,而不是硬件定义OperatingSystem是指控制和管理整个计算机系统的硬件和软件资源,并合理地组…

大家好,又见面了,我是你们的朋友全栈君。

计算机系统的层次结构

  • 用户

  • 应用程序

  • 操作系统

  • 纯硬件:CPU、RAM、ROM

其中,操作系统:

  • 从操作系统层往两侧看:负责管理协调硬件、软件等计算机资源的工作
  • 从上往下看:为上层的应用程序和用户提供简单易用的服务
  • 从下往上看:操作系统系统软件,而不是硬件

定义

Operating System是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境。他是计算机系统中最基本的系统软件。

操作系统的功能和目标

  • 作为系统资源的管理者(从操作系统层向两侧看)

进程

是一个程序的执行过程。执行前需要将该程序放到内存中才能被CPU处理

以用QQ和朋友进行视频聊天为例:

  • step1:在各个文件夹中找到QQ的安装位置:操作系统需要将各种文件有组织地存放起来-文件管理
  • step2:双击打开QQ.exe可执行文件:操作系统需要把程序的相关数据放入内存中-内存管理
  • step3:QQ程序正常运行:对应的进程被处理器CPU处理,要等待资源的分配后才可被运行-处理机管理
  • step4:开始和朋友进行视频聊天:需要把摄像头设备分配给进程,当进程使用完摄像头后要把这个设备回收-设备管理

目标

安全高效

 

  • 作为用户和计算机硬件之间的接口(自下往上看)

操作系统需要提供的功能或者说用户接口

  • 命令接口:1.联机命令接口 2.脱机命令接口
  • 程序接口
  • GUI(图形用户界面)

 

命令接口

1.1联机命令接口,又称交互式命令接口

用户说一句,操作系统做一句

1.2脱机命令接口,又称批处理命令接口

用户说一堆,操作系统做一堆

相比于程序接口,命令接口是可以被用户直接使用的

例如在terminal下输入指令,可以得到反馈,这就是交互的体现,而这些指令是可以直接被用户所使用的

程序接口

例如在windows操作系统下,常见.dll文件。程序员在程序中调用user32.dll文件即可实现窗口创建等功能(该调用过程即为系统调用)。只能通过用户程序间接地使用。

程序接口(仅运行用户通过程序间接使用):由一组系统调用组成(程序接口=系统调用=系统调用指令=广义指令)

GUI图形用户界面(Graphical User Interface)

用户可以使用形象的图形界面进行操作,而不需要记忆复杂的命令、参数

换言之,就是将复杂的操作指令可视化,使用图形操作的方式来表示操作指令的执行

 

  • 作为最接近硬件的层次(从上往下看)

需要提供的功能和目标

实现对硬件机器的拓展

没有任何软件支持的计算机称为裸机。在裸机上安装的操作系统可以提供资源管理功能和方便用户的服务功能,将裸机改造成功能更强、使用更方便的机器。

通常把覆盖了软件的机器称为扩充机器,又称为虚拟机

类比

硬件:锤子、木材、钉子…

操作系统:优秀的工匠

操作系统对硬件机器的拓展:通过优秀的工匠,这些简单的原料可以组织成房子、独木舟…普通用户可以直接使用工匠提供的房子、独木舟,而无需关系这些东西在底层是如何组织起来工作的

换言之,操作系统对硬件机器的拓展,实际上就是操作系统对硬件进行调用,封装得到直接对硬件进行调用的功能给用户

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/129065.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 修复weblogic的JAVA反序列化漏洞的多种方法

    修复weblogic的JAVA反序列化漏洞的多种方法

    2022年3月13日
  • spring事务的默认隔离级别_事务隔离级别有哪些

    spring事务的默认隔离级别_事务隔离级别有哪些目录1、前言2、验证结论3、总结1、前言事务的四个隔离级别想必大家都已经清楚,但是在学习Spring的时候,我们发现Spring自己也有四个隔离级别(加上默认的是五个)。那么问题来了,当Spring设置的隔离级别和我们在数据库设置的隔离级别不一致时,哪个会生效?先抛出结论:Spring设置的隔离级别会生效2、验证结论要验证结论很简单,我们只需要在spring事务注解上面配置不同的隔离级别就行了:DAO层实现类的两个方法pay方法是模拟事务A先查询一次数据,然后休眠两秒再查询一次数据

    2022年9月13日
  • [261]Connection reset by peer的常见原因及解决办法[通俗易懂]

    [261]Connection reset by peer的常见原因及解决办法[通俗易懂]1,如果一端的Socket被关闭(或主动关闭,或因为异常退出而引起的关闭),另一端仍发送数据,发送的第一个数据包引发该异常(Connectresetbypeer)。Socket默认连接60秒,60秒之内没有进行心跳交互,即读写数据,就会自动关闭连接。2,一端退出,但退出时并未关闭该连接,另一端如果在从连接中读数据则抛出该异常(Connectionreset)。简单的…

    2022年6月26日
  • 联想笔记本BIOS设置中文_笔记本电脑 英文

    联想笔记本BIOS设置中文_笔记本电脑 英文对于很多新装系统的小伙伴们可能很多都不是太懂BIOS中都是干什么用的,小编这里给大家详细介绍一下联想笔记本的主板BIOS设置跟别的笔记本或许有些不同但大体相差不多,和大家分享一下。BIOS介绍

    2022年8月3日
  • 真理的基本的属性是_thread和handler区别

    真理的基本的属性是_thread和handler区别原文地址:http://blog.csdn.net/luckeryin/article/details/5649144C#中,Thread类有一个IsBackground的属性.MSDN上对它的解释是:获取或设置一个值,该值指示某个线程是否为后台线程。个人感觉这样的解释等于没有解释..Net中的线程,可以分为后台线程和前台线程。后台线程与前台线程并没有本质的区别,它们之间唯一

    2022年10月16日
  • tomcat启动日志乱码怎么解决_tomcat出现乱码

    tomcat启动日志乱码怎么解决_tomcat出现乱码打开cd到tomcat/conf/目录下修改logging.properties找到java.util.logging.ConsoleHandler.encoding=utf-8这行更改为java.util.logging.ConsoleHandler.encoding=GBK如果对你有帮助还望资金上支持…

    2022年9月26日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号