【操作系统】

news2024/11/19 22:47:08

计算机操作系统

  • 计算机是如何让用户得到好的体验
  • 什么是操作系统(OS)
  • 操作系统如何管理

计算机是如何让用户得到好的体验

计算机系统是由计算机硬件和软件组成的。用户使用计算机,比如在文本文件填写内容,通过邮箱发送邮件,打开游戏应用进行游戏,程序员通过编译器编译源文件。填写文本文件需要用到磁盘,发送邮件要通过网卡,程序员自己写的代码要成为可执行的二进制文件存储到磁盘。等等这些硬件外设。这些外设属于计算机系统的硬件,硬件只认识二进制的数据的计算机语言,对应大部分的用户或程序员来说,是很难通过这种低级(0 1串)的计算机语言来对计算机操作。所以,这时候就有汇编语言,通过指令来对计算机硬件进行访问,但是汇编虽然提高了很大的可读性,但是对于大多数用户来说还是很困难的,所以就有了C语言等其他的高级语言来供给程序员来编写软件代码。然而,计算机的底层硬件并不认识这些高级语言。工程师为了能让用户和计算机之间有交互,做出了一个叫操作系统的软件来让计算机硬件和用户有着间接的联系。通过操作系统把硬件的数据转化为用户可以看得懂的内容,也可以把用户输入的数据转化计算机可以认识的01串。比如一个程序员写的一个C语言的源文件,操作系统会把每一条语句转化为一系列的低级计算机语言指令,然后这些指令按照一种可执行目标程序的格式打好包,并以二进制磁盘文件的形式存放到磁盘,这一系列就是用户通过操作系统和计算机的磁盘硬件进行交互。程序员调用C语言接口scanf()或printf()接口,把用户输入的数据或要打印在显示器的接口,通过这种上层计算机语言接口调用到系统调用,系统调用接口通过操作系统(OS)访问底层硬件。
在这里插入图片描述
得出结论:是操作系统让用户的到更好的体验。用户不需要关心计算机底层硬件的实现。

什么是操作系统(OS)

以Linux操作系统为例,Linux操作系统是一款软件,是通过大量的C语言和一些汇编的语言来进行编写的。通过上面的结论,知道了操作系统是管理计算机硬件和软件的一款软件,操作系统是在计算机硬件和软件之间的。 操作系统中有大量的内核数据结构和数据对象,这些数据结构和对象是用户的数据,这些大量的数据结构和对象要由操作系统进行管理。
操作系统主要的功能 :
①进程管理②存储管理③设备管理④文件管理

操作系统如何管理

用户打开在磁盘的文件,对文件进行读写,或者游戏时候的操作动作,再或者是程序员写代码时调用的库函数或系统调用,这些都是用户层面的操作。都是要通过操作系统来进行决策和管理的。比如再Linux中通过bash的命令行解释器来打开磁盘的文件,或者操作游戏时的键盘输入,都要通过操作系统调用到硬件。用户打开文件写入数据,就会调用到write()这个系统调用接口,然后操作系统再通过程序驱动访问到磁盘。
在这里插入图片描述
计算机会有许许多多的这些操作,所以操作系统需要管理这些操作。这些操作都是大量的数据结构和数据对象,操作系统会把这些对象的各种属性抽象成一个整体的对象。就好比一个程序员在公司,程序员的姓名,年龄,性别,工龄,工号,联系方式,家庭住址的属性来放在一个集合来,虽然这些属性的类型不一样,这样就可以用的集合来描述一个程序员,公司要找到这个员工,了解最近的情况,只需要找到这个集合的姓名和工号即可。公司要知道所有的员工,所以每个员工都有这样的一个集合,公司对这些员工的管理,就可以变为对这些集合的管理。在语言层面上,这些集合就是结构体。然后公司对结构体采用某些数据结构的方式来组织管理,就可以对员工们有很好的管理,对员工的管理变为对数据结构的管理,可以进行增删查改。
在这里插入图片描述
得出结论:操作系统对这些程序或者数据先进行描述,再进行组织管理。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1469477.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RabbitMq:什么是RabbitMq? ①

一、RabbitMq定位 RabbitMq是一个基于消息订阅发布的一款消息中间件。 二、技术原理 核心概念 server:又称broker,接受客户端连接,实现AMQP实体服务。缓存代理,Kafka集群中的一台或多台服务器统称broker.connection:…

Python中回调函数的理解与应用

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站零基础入门的AI学习网站~。 目录 前言 回调函数的概念 回调函数的基本用法 回调函数的实现方式 1 使用函数 2 使用类方法 3 使用类实…

Web性能优化-详细讲解与实用方法-MDN文档学习笔记

Web性能优化 查看更多学习笔记:GitHub:LoveEmiliaForever MDN中文官网 性能优良的网站能够提高访问者留存和用户满意度,减少客户端和服务器之间传输的数据量可降低各方的成本 不同的业务目标和用户需求需要不同的性能度量,要提高…

pthread_cond_timedwait()函数

绝对时间:相对于1970年1月1日0时0分0秒 相对时间:相对于当前时间,如sleep(3);相对于当前,过3s.

mac下使用jadx反编译工具

直接执行步骤: 1.创建 jadx目录 mkdir jadx2.将存储库克隆到目录 git clone https://github.com/skylot/jadx.git 3. 进入 jadx目录 cd jadx 4.执行编译 等待片刻 ./gradlew dist出现这个就代表安装好了。 5.最后找到 jadx-gui 可执行文件,双击两下…

解决easyExcel模板填充时转义字符\{xxx\}失效

正常我们在使用easyExcel进行模板填充时,定义的变量会填充好对应的实际数据,未定义的变量会被清空,但是如果这个未定义的变量其实是模板的一部分,那么清空了就出错了。 在这张图里,上面的是模板填充后导出的文件&…

【Linux基础】vim、常用指令、组管理和组权限

Linux基础 1、目录结构2、vi和vim3、常用指令运行级别找回密码帮助指令时间日期指令搜索查找文件目录操作磁盘管理指令压缩和解压缩 4、组管理和组权限用户操作指令权限 1、目录结构 Linux的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录“/”&a…

《Docker 简易速速上手小册》第7章 高级容器管理(2024 最新版)

文章目录 7.1 容器监控与日志7.1.1 重点基础知识7.1.2 重点案例:监控 Flask 应用7.1.3 拓展案例 1:使用 ELK Stack 收集和分析日志7.1.4 拓展案例 2:使用集成监控工具 7.2 性能调优与资源限制7.2.1 重点基础知识7.2.2 重点案例:Fl…

爬取链家二手房房价数据存入mongodb并进行分析

实验目的 1.使用python将爬虫数据存入mongodb; 2.使用python读取mongodb数据并进行可视化分析。 实验原理 MongoDB是文档数据库,采用BSON的结构来存储数据。在文档中可嵌套其他文档类型,使得MongoDB具有很强的数据描述能力。本节案例使用的…

Flutter Slider自定义滑块样式 Slider的label标签框常显示

1、自定义Slider滑块样式 Flutter Slider控件的滑块系统样式是一个圆点,thumbShape默认样式是RoundSliderThumbShape,如果想要使用其它的样式就需要自定义一下thumbShape; 例如需要一个上图样式的(圆点半透明圆形边框&#xff09…

Springboot+vue的社区医疗综合服务平台(有报告)。Javaee项目,springboot vue前后端分离项目

演示视频: Springbootvue的社区医疗综合服务平台(有报告)。Javaee项目,springboot vue前后端分离项目 项目介绍: 本文设计了一个基于Springbootvue的前后端分离的社区医疗综合服务平台,采用M(m…

Debezium发布历史149

原文地址: https://debezium.io/blog/2023/06/21/debezium-2-3-final-released/ 欢迎关注留言,我是收集整理小能手,工具翻译,仅供参考,笔芯笔芯. Debezium 2.3.0.Final Released June 21, 2023 by Chris Cranford re…

平衡,才是世界生生不息的真谛

凤凰涅槃,浴火重生。这句话是很有哲理的,可以运用到命运中。而对于命运,以中为最好,即是平衡。然而,每一个人,都是要经历命运的锤炼,无论怎样锤炼,都要保持一颗善良的心,…

【黑马程序员】1、TypeScript介绍_黑马程序员前端TypeScript教程,TypeScript零基础入门到实战全套教程

课程地址:【黑马程序员前端TypeScript教程,TypeScript零基础入门到实战全套教程】 https://www.bilibili.com/video/BV14Z4y1u7pi/?share_sourcecopy_web&vd_sourceb1cb921b73fe3808550eaf2224d1c155 目录 1、TypeScript介绍 1.1 TypeScript是什…

2024年最新汉化版电脑数据恢复软件EasyRecovery易恢复14

一、功能特点 2024 EasyRecovery易恢复软件,是一款广受欢迎的数据恢复工具。其全面的功能特点让它在数据恢复领域占有一席之地。 EasyRecovery-mac最新版本下载:https://wm.makeding.com/iclk/?zoneid50201 EasyRecovery-win最新版本下载:https://wm.makeding.c…

MATLAB环境下基于粒子群优化算法和离散小波变换的心电信号降噪

由于现实环境的复杂性以及信号获取设备的非理想特性等原因,导致人们在获得信号的过程中会引入各种各样的噪声成分,这不但会使得信号质量达不到实际要求,而且会掩盖信号中的重要细节。这也就要求我们在对数字信号进行具体地分析处理之前&#…

第九篇【传奇开心果系列】python文本和语音相互转换库技术点案例示例:SpeechRecognitio库开发会议记录和转录工具经典案例

传奇开心果博文系列 系列博文目录python文本和语音相互转换库技术点案例示例系列 博文目录前言一、雏形示例代码二、扩展思路介绍三、SpeechRecognition库多种语音识别引擎支持示例代码四、SpeechRecognition库实时语音转录示例代码五、SpeechRecognitio库转录文本中提取关键词…

改进Yolov5目标检测与单目测距 yolo速度测量-pyqt界面-yolo添加注意力机制

当设计一个结合了 YOLOv5 目标检测、单目测距与速度测量以及 PyQt 界面的毕业设计时,需要考虑以下几个方面的具体细节: 计算机视觉、图像处理、毕业辅导、作业帮助、代码获取,私聊会回复! YOLOv5 目标检测: 首先,选择…

【Java程序设计】【C00312】基于Springboot的无人智慧超市管理系统(有论文)

基于Springboot的无人智慧超市管理系统(有论文) 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的智慧无人超市管理系统,本系统有管理员、用户二种角色权限; 管理员:系统首页、个人中心、…

Java EE改名Jakarta EE,jakarta对程序开发的影响

一、前言 很多Java程序员在使用新版本的Spring6或者springboot3版本的时候,发现了一些叫jakarta的包。我在阅读开源工作流引擎camunda源代码的时候,也发展了大量jakarta的工程包。 比如:camunda的webapps编译工程就提供了2种方式javax和jaka…