操作系统:初识操作系统

目录

1.冯诺依曼体系结构

 2.操作系统

2.1什么是操作系统

2.2为什么需要操作系统 

2.3怎么实现操作系统 


1.冯诺依曼体系结构

对于上图:

输入设备完成的是写入工作,输出设备完成输出工作,这两部分包含磁盘这类的外存。

存储器一般指的是内存,存储进程的数据和代码。

中央处理器即为cpu、寄存器、各级别缓存的集合。

生活中冯诺依曼体系的体现: 

 另外:

CPU不与外设打交道,CPU通过外设与内存的数据交互,进而直接与内存交互,间接和外设交互。这里体现了:内存是硬件级别的缓存,存放外设的数据,然后导进CPU中进行运算完成工作。

我们知道“程序在运行之前,必须先加载到内存中”,这里很容易解释一个程序的本质就是“代码”+“数据”,最终都需要CPU来处理,那么就需要将程序加载到内存中,才可以通过CPU进行运算。假设生成一个exe文件,只能存储在磁盘(外设)中保存,后续运行时也需要从外设加载到内存中经过CPU调度才能正常运行。

这里我们也可以总结出来,外设是长期存放文件、数据的地点,内存是临时存放便于CPU调度的地点。

讲到这里还是会有点抽象。接下来我们用一个例子讲解一下,冯诺依曼体系下数据是如何传输的。

当我们登录上微信跟同学进行聊天,这时数据是如何流通的?

显然数据的传输也是通过 “”输入设备->内存->CPU->内存->输出设备 --> 另一端冯诺依曼体系”来实现的。

如果是,需要转一个文件给同学呢?这时与上一个场景大概一致,不过多了需要从输入设备磁盘上拷贝文件到网卡传给另一端,接着在通过网卡接收,内存加载,CPU运算,最终下载到本地的磁盘。这时候输入、输出设备有磁盘的参与。 

 2.操作系统

2.1什么是操作系统

  操作系统是一款“进行软硬件资源管理”的软件。即链接用户与计算机底层的桥梁

2.2为什么需要操作系统 

设计OS的目的:

1.与硬件交互,管理所有的软硬件资源

2.为用户程序(应用程序)提供一个良好、稳定、高效、安全、便于使用的执行环境

我们先来学习一下冯诺依曼体系下为什么需要操作系统!这里从操作系统 链接 底层硬件这三层来分析。 

 因为人类描述事物是通过“属性”,描述一个事物就需要该事物的属性,为了更好的管理,就需要引入数据结构来实现。

2.3怎么实现操作系统 

在2.2中我们可以大概猜到,操作系统内部一定存在大量的数据对象和数据结构。

 我们之前在数据结构的学习时理解了数据结构本质上就是容器,是数据的容器。那么实现操作系统就是定义某个个体的字段,需要被管理的数据然后再把一个个个体连接然后形成集合。在不断分层,就形成了操作系统。

也就是:先描述再组织

另外我们在实际使用操作系统时,会发现我们只是调用了某一个操作,用了某一个接口,跨过了中间的过程,所以操作系统也是一个高度封装的软件。也需要防止 用户操作影响系统

 

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

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

相关文章

【C#杂谈】在 .NET Framework 中使用新的C#语言特性

前排提示:提出一个可以让 [^1] 这中语法可以在.NET Framework运行时中使用的方法 众所都周知,.NET Framework(以下简称 .NF)作为一个被微软官方确认不在继续发布新特性的运行时,它所对应的C#语言版本被(官方…

TruEra

文章目录 关于 TruEra关于 TruLens 关于 TruEra TruEra Gen AI Observability and LLM Evaluation​ Monitor, evaluate, and debug your LLM and Gen AI apps. All part of Full Lifecycle AI Observability from TruEra. 官网:https://truera.comgithub : https…

时间序列分析技巧(一):根据ACF、PACF进行AR、MA、ARMA模型选择

程序员如何选择职业赛道? 🍉CSDN小墨&晓末:https://blog.csdn.net/jd1813346972 个人介绍: 研一|统计学|干货分享          擅长Python、Matlab、R等主流编程软件          累计十余项国家级比赛奖项&#…

定时执行专家 - 自动截屏任务的设置步骤

以下是使用定时执行专家进行自动截屏的设置步骤: 下载并安装定时执行专家 从以下 官方博客 下载最新版本的定时执行专家,并按照提示进行安装。 BoomWorks软件的最新版-CSDN博客文章浏览阅读10w次,点赞9次,收藏42次。▉定时执行…

C语言数据结构与算法——深度、广度优先搜索(DFS、BFS)

目录 一、深度优先搜索(Depth-First-Search 简称:DFS) 无向图的深度优先搜索 有向图的深度优先搜索 二、广度优先搜索(Breadth-First-Search 简称:BFS) 无向图的广度优先搜索 有向图的广度优先搜索 深…

市场复盘总结 20240305

仅用于记录当天的市场情况,用于统计交易策略的适用情况,以便程序回测 短线核心:不参与任何级别的调整,采用龙空龙模式 一支股票 10%的时候可以操作, 90%的时间适合空仓等待 二进三: 进级率中 25% 最常用的…

CSS字体样式值,html注释标签

突破困境: 1. 提升学历 前端找工作,学历重要吗? 重要。谁要是告诉你不重要那一定是在骗你。现实情况是大专吃紧,本科够用,硕士占优,大专以下找到工作靠运气和真实力。 学历是硬伤,已经毕业的你…

(黑马出品_02)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式

(黑马出品_02)SpringCloudRabbitMQDockerRedis搜索分布式 微服务技术栈治理 今日目标1.Nacos配置管理1.1.统一配置管理1.1.1.在nacos中添加配置文件1.1.2.从微服务拉取配置 1.2.配置热更新1.2.1.方式一1.2.2.方式二 1.3.配…

【Java设计模式】六、代理模式:静态代理、JDK + CGLIB动态代理

文章目录 1、代理对象2、代理模式结构3、静态代理4、JDK动态代理5、JDK动态代理的原理6、CGLIB动态代理7、三种代理的对比8、代理模式的总结 结构型设计是将类或者对象按某种布局(继承机制、组合聚合)来组成更大结构。包括七种: * 代理模式 …

代码随想录第51天|● 309.最佳买卖股票时机含冷冻期 ● 714.买卖股票的最佳时机含手续费 ●总结

文章目录 ● 309.最佳买卖股票时机含冷冻期思路代码 ● 714.买卖股票的最佳时机含手续费思路: ●总结 ● 309.最佳买卖股票时机含冷冻期 思路 代码 class Solution {public int maxProfit(int[] prices) {// 0.买入状态-(持有)// 1.保持卖出股票的状态// 2.今天…

JVM运行时数据区——堆

文章目录 1、堆的核心概述1.1、JVM实例与堆内存的对应关系1.2、堆与栈的关系1.3、JVM堆空间划分 2、设置堆内存大小与内存溢出2.1、设置堆内存大小2.2、内存溢出案例 3、新生代与老年代4、图解对象分配过程5、Minor GC、Major GC、Full GC5.1、GC的分类5.2、分代式GC策略的触发…

Sora:AI视频模型的无限可能与挑战

随着人工智能技术的突飞猛进,AI视频模型已成为科技领域的新焦点。OpenAI推出的AI视频模型Sora,凭借其卓越的技术性能和前瞻性,为AI视频领域的发展揭开了新的篇章。本文将从技术解析、应用场景、未来展望、伦理与创意以及用户体验与互动五个方…

【python基础学习09课_装饰器、模块、文件】

一、项目的日志 1、日志意义与级别 1、日志的意义:项目的日志 -- 开发编写的,日志记录 -- 测试就是去查看日志信息(为了协助我们进行问题的定位) 可以根据日志,看是哪个应用的哪台机器,出现了什么问题&…

Scala 之舞:林浩然与杨凌芸的 IDEA 冒险

Scala 之舞:林浩然与杨凌芸的 IDEA 冒险 The Dance of Scala: The IDEA Adventure of Lin Haoran and Yang Lingyun 在那个阳光明媚的日子里,林浩然如同一位英勇的探险家,踏入了 Scala 的 IntelliJ IDEA 开发环境的奇妙领域,他带着…

day7 字符数组

1:输入一个字符串,实现单词逆置 输入:"good good study" 输出:"study good good" 6 //单词逆置7 // good good study8 // study good good9 10 //整体逆置11 char str[50]"good good stu…

springboot集成logback打印彩色日志

一、logback介绍 Logback是由log4j创始人设计的另一个开源日志组件,官方网站: logback.qos.ch。它当前分为以下三个模块: logback-core:其它两个模块的基础模块。logback-classic:它是log4j的一个改良版本,同时它完整实…

C++基于多设计模式下的同步异步日志系统day6

C基于多设计模式下的同步&异步日志系统day6 📟作者主页:慢热的陕西人 🌴专栏链接:C基于多设计模式下的同步&异步日志系统 📣欢迎各位大佬👍点赞🔥关注🚓收藏,&am…

云手机运行在云端?安全性有保障吗

随着云计算技术的不断发展,云手机作为一种新兴的移动终端形态,逐渐成为人们关注的焦点。然而,对于许多人来说,云手机 是一个相对陌生的概念,安全性成为了他们最为关心的问题之一。本文将就云手机运行在云端的特点以及其…

JWT身份验证

在实际项目中一般会使用jwt鉴权方式。 JWT知识点 jwt,全称json web token ,JSON Web令牌是一种开放的行业标准RFC 7519方法,用于在两方安全地表示声明。具体网上有许多文章介绍,这里做简单的使用。 1.数据结构 JSON Web Token…

#include<ros/ros.h>头文件报错

快捷键 ctrl shift B 调用编译,选择:catkin_make:build)(要先在vscode上添加扩展:ros) 可以点击配置设置为默认,修改.vscode/tasks.json 文件 修改.vscode/tasks.json 文件,否则ros.h头文件会报错 内容修改为以下内…