【Linux课程学习】:对操作系统(Operator System)的理解

🎁个人主页:我们的五年

🔍系列专栏:Linux课程学习 

🌷追光的人,终会万丈光芒

🎉欢迎大家点赞👍评论📝收藏⭐文章

 

目录

操作系统(Operator system)

🥥概念:

🥥设计操作系统的目的(OS):

 🥥如何理解OS:

对硬件进行管理:(先描述,再组织)

整体理解:

🥥对下层的理解---驱动程序:

🥥理解OS

🥥OS的系统调用的理解:

🥥用户操作接口:

操作系统的分类


1.数据在计算机内流转的过程中,其本质是在不同设备拷贝。---->设备的拷贝效率本质就是计算机的效率

2.面向对象语言要有:1.面向对象的能力。(对对象进行描述)2.标准库。(对对象进行组织)

3.上层要和硬件进行交流,必须经过操作系统。操作系统会给上层提供系统调用。

 4.操作系统是用C语言写的,所有的语言必须与C语言有直接和间接有关。

操作系统(Operator system)

🥥概念:

任何一个计算机都包含一个基本的程序集合,称为操作系统(OS),操作系统是一款进行硬件资源管理的软件。

操作系统包括:

内核进程/任务/线程管理,内存管理,文件管理,驱动管理
其他程序函数库,shell程序

进程管理:操作系统复杂进程的创建,进程的调度,进程的同步,进程的终止。进程间通信允许进程之间进行信息交流。

文件管理:比如对要保存在文件中的数据进行管理。

驱动管理:控制和协调硬件设备的使用。

🥥设计操作系统的目的(OS):

1.降低应用程序的操作门槛,使用户不要求懂底层的硬件管理,利用操作系统提供的接口就可以对硬件进行管理。

2.

对底层硬件对底层硬件进行稳定,高效,安全的管理。(手段)
对上层环境给上层提供一个良好的运行环境。(目的)

 🥥如何理解OS:

OS相当于中间角色:OS对上进行收集数据,对下进行决策工作。

对硬件进行管理:(先描述,再组织

OS定义一个结构体,对底层的硬件进行描述(比如设备名称,设备的状态),然后每一个设备都有结构体对象进行管理,并且通过链表进行存储。最后OS对硬件的管理就是对链表的增删查改


整体理解:

🥥对下层的理解---驱动程序:

每一种硬件都要有自己对应的驱动程序。硬件厂商自己写的驱动程序。

让操作系统内核进行管理时,通过驱动程序就能进行。

🥥理解OS

和银行系统一样,必须保证银行的安全性,

以银行系统类比来理解OS。

1.设备,仓库,宿舍,桌椅相当于计算机底层的硬件。

2.对应的这些硬件,设备有计算机相关专业的人堆设备进行管理,仓库有仓库管理员……对应的这些人员,是对某些硬件进行特殊管理的,可以理解为驱动程序。

3.银行的行长就可以看成OS。

4.银行的窗口相当于系统调用。


🥥OS的系统调用的理解:

银行的基本服务是存取服务。

当一个人要进行存钱时,如果没有OS,也就是存钱得让这个人进入银行的内部,将钱放入仓库,然后在电脑上进行登记。虽然步骤是这样的,但是有的人不会按这样的步骤走,他们可能进入仓库不是自己的钱放入仓库,而是把从仓库里拿钱,这样银行就发生了错误。有了安全性问题。

但是银行不是这样进行操作的,如果我们要进行存钱服务,我们要到对应的窗口进行存钱服务,然后告诉银行我们的需求,银行就能帮我们完成存钱业务。不会让我们进入银行的内存。这就相当于OS对外层提供一系列的系统调用,程序只能通过这些系统调用对硬件进行交流。

🥥用户操作接口:

对于系统调用还是有点偏底层,在系统调用之上又封装了用户操作接口。

根据不同的用户的需求,设计出了:

1.命令行界面:Unix和Linux的shell环境。文本基础,效率,灵活性,简洁。一系列指令用C语言写的,比如ls指令:通过系统调用,对磁盘的内容进行访问。

2.图形用户界面:Windows,macOS,Android,IOS的操作系统界面。显示器由许多的点组成,图形化界面本质就是这些点是否被点亮。

操作系统的分类

操作系统类别特点应用场景
批处理操作系统按批次处理作业。存在于早期大型计算机
分时操作系统允许多个用户同时使用计算机,每个用户感觉好像独占计算机。个人计算机
实时操作系统用于需要快速,确定性反应的场景。汽车工业
网络操作系统专门为网络环境设计的操作系统。Web服务和应用服务器
分布式操作系统管理分布在多个物理位置的计算机资源。云计算和大数据处理

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

使用Cursor和Claude AI打造你的第一个App

大家好,使用Cursor和Claude AI打造应用程序是一个结合智能代码辅助和人工智能对话的创新过程。Cursor是一个编程辅助工具,它通过智能代码补全、聊天式AI对话和代码生成等功能,帮助开发者提高编程效率。Claude AI则是一个强大的人工智能平台&a…

创建springboot+vue项目相关配置问题

安装并配置jdk23 在官网下载jdk Java Downloads | Oracle 中国 下载完成后双击即可安装。 安装完成后配置环境变量 此电脑->右键->属性->高级系统设置 然后一直点击确定即可。 键盘上win r java -version 可以验证是否配置成功 下载并配置maven 在官网下…

React 中使用 Axios 进行 HTTP 请求

下面是一个案例,展示如何在 React 中使用 Axios 进行 HTTP 请求,包括 GET 和 POST 请求的使用。 1. 安装 Axios 确保项目中已安装 Axios,可以通过以下命令安装: npm install axios2. 创建一个简单的 React 应用 项目结构&…

Wekan看板安装部署与使用介绍

Wekan看板安装部署与使用介绍 1. Wekan简介 ​ Wekan 是一个开源的看板式项目管理工具,它的配置相对简单,因为大多数功能都是开箱即用的。它允许用户以卡片的形式组织和跟踪任务,非常适合敏捷开发和日常任务管理。Wekan 的核心功能包括看板…

推荐几个 VSCode 流程图工具

Visual Studio Code(简称VSCode)是一个由微软开发的免费、开源的代码编辑器。 VSCode 发布于 2015 年,而且很快就成为开发者社区中广受欢迎的开发工具。 VSCode 可用于 Windows、macOS 和 Linux 等操作系统。 VSCode 拥有一个庞大的扩展市…

OpenHands:开源AI编程工具的新贵,让编程更自然

🚀 AI技术在编程领域的应用正迅速发展,其中OpenHands作为一款新兴的开源AI编程工具,以其出色的性能和自然语言编程体验,成为了开发者的新宠。今天,让我们一起探索OpenHands的核心功能、架构设计,以及如何通…

C++:探索AVL树旋转的奥秘

文章目录 前言 AVL树为什么要旋转?一、插入一个值的大概过程1. 插入一个值的大致过程2. 平衡因子更新原则3. 旋转处理的目的 二、左单旋1. 左单旋旋转方式总处理图2. 左单旋具体会遇到的情况3. 左单旋代码总结 三、右单旋1. 右单旋旋转方式总处理图2. 右单旋具体会遇…

嵌入式硬件实战基础篇(三)-四层板PCB设计-步进电机驱动(TMC2208/TMC2209)

引言:我们在嵌入式硬件杂谈(三)中有提到阻抗匹配的问题,也引入了高速PCB设计的思想,并且此篇实战基础篇主要是基础的四层板的绘制设计,后续实战会对高速板展开,本篇主要是提升读者的设计PCB板的…

数据库基础(MySQL)

1. 数据库基础 1.1 什么是数据库 存储数据用文件就可以了,为什么还要弄个数据库? 文件保存数据有以下几个缺点: 文件的安全性问题文件不利于数据查询和管理文件不利于存储海量数据文件在程序中控制不方便 数据库存储介质: 磁盘内存 为…

【C++】踏上C++学习之旅(九):深入“类和对象“世界,掌握编程的黄金法则(四)(包含四大默认成员函数的练习以及const对象)

文章目录 前言1. 实现Date类的构造函数2. 实现Date类的拷贝构造函数3. 实现Date类的赋值运算符重载4. 实现各Date对象之间的比较接口5. 实现Date对象的加减接口6. const成员7. 取地址及const取地址操作符重载 前言 在我们前面学习到了"类和对象"的四大默认成员函数(…

如何在 Elasticsearch 中配置 SSL / TLS ?

Elasticsearch 是一种流行的开源搜索和分析引擎。它被广泛用于日志或活动数据分析,全文搜索和复杂查询。但是,没有适当的安全措施,敏感数据可能很容易受到影响拦截和未经授权的访问。在 Elasticsearch 中启用 SSL/TLS 是保护数据的关键步骤。…

python之sklearn--鸢尾花数据集之数据降维(PCA主成分分析)

python之sklearn–鸢尾花数据集之数据降维(PCA主成分分析) sklearn库:Scikit - learn(sklearn)是一个用于机器学习的开源 Python 库。它建立在 NumPy、SciPy 和 matplotlib 等其他科学计算库之上,为机器学习的常见任务提供了简单…

音视频pts/dts

现在的视频流有两个非常重要的时间戳,pts和dts,其中pts是显示的时候用,dts在解码的时候用。 pts很好理解,按照pts的顺序以及duration不间断的display就可以了。 dts在解码的时候用,那么这句话怎么理解,解…

数据集-目标检测系列- 人与猫互动 猫 检测数据集 cat in the house >> DataBall

数据集-目标检测系列- 人与猫互动 猫 检测数据集 cat in the house >> DataBall DataBall 助力快速掌握数据集的信息和使用方式,会员享有 百种数据集,持续增加中。 贵在坚持! 数据样例项目地址: * 相关项目 1&#xff…

ReactPress:基于pnpm的Mono Repository方案介绍

ReactPress Github项目地址:https://github.com/fecommunity/reactpress 欢迎Star。 ReactPress基于pnpm的Mono Repository方案介绍 ReactPress是一个使用React和Node.js构建的开源发布平台,它允许用户在支持React和MySQL数据库的服务器上设置自己的博客…

stm32如何接收舵机的控制信号(而不是控制舵机)

看到很多如何stm32用pwm信号控制舵机的文章,老生常谈了 我来写一个stm32接收pwm信号的例子 ,这个pwm信号是用来控制舵机的 背景: 我需要接收航模接收机的,用来控制舵机的pwm信号, 得到这个信号后,做其他事情. 初版代码 pwm.h#ifndef _pwm_H #define _pwm_H#include "s…

Spring Boot 3.x + OAuth 2.0:构建认证授权服务与资源服务器

Spring Boot 3.x OAuth 2.0:构建认证授权服务与资源服务器 前言 随着Spring Boot 3的发布,我们迎来了许多新特性和改进,其中包括对Spring Security和OAuth 2.0的更好支持。本文将详细介绍如何在Spring Boot 3.x版本中集成OAuth 2.0&#xf…

Photoshop(PS)——人像磨皮

1.新建一个文件,背景为白色,将图片素材放入文件中 2.利用CtrlJ 复制两个图层出来,选择第一个拷贝图层,选择滤镜---杂色---蒙尘与划痕 3.调整一下数值,大概能够模糊痘印痘坑,点击确定。 4.然后选择拷贝2图层…

Vue3 + Vite 项目引入 Typescript

文章目录 一、TypeScript简介二、TypeScript 开发环境搭建三、编译方式1. 自动编译单个文件2. 自动编译整个项目 四、配置文件1. compilerOptions基本选项严格模式相关选项(启用 strict 后自动包含这些)模块与导入相关选项 2. include 和 excludeinclude…

MySql 索引视图存储变量

要求 一: 学生表:Student(Sno,Sname,Ssex ,Sage, Sdept) 学号,姓名,性别,年龄,所在系 Sno为主键 课程表:Course(Cno,Cname) 课程号,课程名 Cno为主键 学生…