【操作系统】

计算机操作系统

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

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

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

什么是操作系统(OS)

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

操作系统如何管理

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

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

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

相关文章

opencv图像放缩与插值-resize函数

在OpenCV中,resize函数用于对图像进行尺寸调整(放大或缩小),这个过程中通常需要用到插值方法来计算新尺寸下图像像素的值。插值方法对于放缩的质量有着直接影响。 void resize(InputArray src, OutputArray dst, Size dsize, dou…

全流程点云机器学习(二)使用PaddlePaddle进行PointNet的机器学习训练和评估

前言 这不是高支模项目需要嘛,他们用传统算法切那个横杆竖杆流程复杂耗时很长,所以想能不能用机器学习完成这些工作,所以我就来整这个工作了。 基于上文的数据集切分 ,现在来对切分好的数据来进行正式的训练。 本系列文章所用的…

解决app中以webview的方式嵌入h5网页,h5网页加载不出来

问题描述:我的h5网页在web端和手机浏览器都能正常渲染展示,但是嵌入到客户的webview中,渲染加载不出来,仔细检查代码之后并没有任何代码错误和后台报错。抓耳挠腮查找两天之后发现,原因为整个h5网页的最外层高度设置成…

WordPress如何将后台右上角管理员头像去除并调整注销位置及启用注销确认功能?

WordPress后台默认情况下右上角可以看到管理员昵称和头像,将鼠标移动到该昵称上还会出现一个下拉菜单,点击下拉菜单中的“注销”无需我们再次确认就会自动退出。 现在我想将WordPress后台右上角的管理员头像和管理员昵称子菜单去除,并将“注销…

HDFS中常用的Shell命令 全面且详细

HDFS中常用的Shell命令目录 一、ls命令 二、mkdir 命令 三、put命令 四、get命令 五、mv命令 六、rm命令 七、cp命令 八、cat命令 前言 安装好hadoop环境之后,可以执行hdfs相关的shell命令对hdfs文件系统进行操作,比如文件的创建、删除、修改文…

【时事篇-05-02】20240221 2525元存17只货币基金的具体数目测算( itertools)

背景需求: 前文提到存10个货币基金,每个投150元,1500元,每天有1分钱利息,10个基金就有0.1元,比1500元投1只货币基金0.06元,的收益高一点。 【时事篇-05】20240112 150元存46只货币基金-CSDN博…

C++之new和delete表达式

目录 一、new表达式工作步骤 二、delete表达式工作步骤 三、operator new和operator delete函数的重载版本 ​编辑​编辑 四、要求一个类只能创建栈对象 五、要求一个类只能创建堆对象 一、new表达式工作步骤 使用new表达式时发生的三个步骤: 1. 调用名为opera…

第2.5章:StarRocks表设计--Colocation Join

目录 一、StarRocks数据划分 1.1 分区 1.2 分桶 二、Colocation Join实现原理 2.1 Colocate Join概述 2.2 Colocate Join实现原理 三、应用案例 注:本篇文章阐述的是StarRocks-3.2版本的Colocation Join 官网文章地址: Colocate Join | StarRoc…

政安晨:【示例演绎机器学习】(一)—— 剖析神经网络:学习核心的Keras API

打开这篇文章,相信您已经了解了TensorFlow的一些基础知识,可以用它从头开始实现一个简单模型。 如果您对这些概念还不是太清晰,可以浏览一下我这个栏目中的相关文章: 政安晨的机器学习笔记http://t.csdnimg.cn/DHcyL 尤其是其中…

npm run dev和npm run serve两个命令的区别

npm run dev和npm run serve两个命令的区别 前端开发过程中运行Vue项目的时候,有时候使用npm run serve命令可以启动项目,有时候却会报错;有时候使用npm run dev命令可以启动项目,有时候却也会报错。是什么原因造成这种情况呢&am…

HTML5-CSS3

一、HTML5的新特性 HTML5 的新增特性主要是针对于以前的不足,增加了一些新的标签、新的表单和新的表单属性等。 这些新特性都有兼容性问题,基本是 **IE9 以上版本的浏览器**才支持,如果不考虑兼容性问题,可以大量使用这些新特性…

Github代码仓库SSH配置流程

作者: Herman Ye Auromix 测试环境: Ubuntu20.04 更新日期: 2024/02/21 注1: Auromix 是一个机器人爱好者开源组织。 注2: 由于笔者水平有限,以下内容可能存在事实性错误。 相关背景 在为Github代码仓库配…

【LeetCode】升级打怪之路 Day 01:二分法

今日题目: 704. 二分查找35. 搜索插入位置34. 在排序数组中查找元素的第一个和最后一个位置 目录 今日总结Problem 1: 二分法LeetCode 704. 二分查找 【easy】LeetCode 35. 搜索插入位置 ⭐⭐⭐⭐⭐LeetCode 34. 在排序数组中查找元素的第一个和最后一个位置 【medi…

探索Linux系统中HTTP隧道技术的原理与实践

在Linux的世界里,HTTP隧道技术就像是一个神秘的魔法师,它能让你的网络请求穿越重重障碍,安全地到达目的地。今天,我们就来一起探索这个魔法师的奥秘,看看它是如何在Linux系统中施展魔法的。 首先,我们要明…

pcd文件介绍

pcd文件介绍 一、PCD文件格式二、为什么要使用新的文件格式?三、PCD 版本四、文件格式头五、数据存储类型六、优于其他文件格式七、结果展示八、相关链接 一、PCD文件格式 本文档描述PCD(点云数据)文件格式,以及它在点云库(PCL)中的使用方式。 二、为什…

备战蓝桥杯—— 双指针技巧巧答链表2

对于单链表相关的问题,双指针技巧是一种非常广泛且有效的解决方法。以下是一些常见问题以及使用双指针技巧解决: 合并两个有序链表: 使用两个指针分别指向两个链表的头部,逐一比较节点的值,将较小的节点链接到结果链表…

LLM 模型融合实践指南:低成本构建高性能语言模型

编者按:随着大语言模型技术的快速发展,模型融合成为一种低成本但高性能的模型构建新途径。本文作者 Maxime Labonne 利用 mergekit 库探索了四种模型融合方法:SLERP、TIES、DARE和passthrough。通过配置示例和案例分析,作者详细阐…

C++学习之list容器

C++ list基本概念 在C++中,std::list是一个双向链表(doubly linked list)容器,它包含在 <list> 头文件中。下面是一些关于C++ std::list的基本概念: 双向链表结构:std::list是由多个节点组成的双向链表结构,每个节点包含数据元素和指向前一个节点和后一个节点的指…

Java基础API(2) String、StringBuilder详解

文章目录 &#x1f378;1. String类&#x1f349;&#x1f349;1.1 String概述&#x1f349;&#x1f349;1.2 String类的构造方法&#x1f349;&#x1f349;1.3 创建字符串对象的区别对比&#x1f349;&#x1f349;1.4 字符串的比较1.4.1 字符串的比较 &#x1f349;&#x…

【办公类-16-07-01】“2023下学期 周计划-美术专用活动室写法”(python 排班表系列)

背景需求&#xff1a; 又到了开学季&#xff0c;新的活动室安排表出炉了。 为了贴在美术活动室的安排表&#xff0c;我需要转换成班级为单位的安排表&#xff0c;便于批量制作周计划。 主要用途——填写周计划中的特色美术活动室&#xff08;汉字大写&#xff09; 重点说明&am…