操作系统:初识操作系统

目录

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.mzph.cn/news/722951.shtml

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

相关文章

Win UI3开发笔记(四)设置主题续2

本机深色主题下设置的背景颜色可以作用于整个对话框,本机浅色模式下设置的背景颜色只作用与下边的部分。 如果本机选深色,程序选浅色,设置为light只对上部分管用,下部分不管用。如图,左边那个hello按钮要看不见了。。…

协同办公大战再起,钉钉、飞书“决战”AI

对众多职场人来说,相信其对于钉钉、飞书、企业微信这些名字一定不会感到陌生,因为在当下的工作过程中,无论是考勤打卡,还是团队沟通协作,都离不开这些办公软件。而这些协同办公软件的出现,也为职场人的工作…

django学习记录06-Ajax的初识

Ajax请求 1.1Ajax请求与get、post请求的区别 form请求:浏览器向网站发送请求时,url和表单的形式提交 GET请求:url方式获取数据POST请求:以表单的形式提交数据 特点: 一次完整的GET或POST请求,会进行一次页面刷新 基于…

183基于matlab的非线性调频模态分解(VNCMD)

基于matlab的非线性调频模态分解(VNCMD),一种基于变分方法的信号分解技术,它将信号分解为多个模式。能够处理非线性调频信号,且对噪声具有较好的鲁棒性。VNCMD的基本原理是通过最小化信号与模式之间的差异来实现信号的分解。程序已调通&#…

Latte:一个类似Sora的开源视频生成项目

前段时间OpenAI发布的Sora引起了巨大的轰动,最长可达1分钟的高清连贯视频生成能力秒杀了一众视频生成玩家。因为Sora没有公开发布,网上对Sora的解读翻来覆去就那么多,我也不想像复读机一样再重复一遍了。 本文给大家介绍一个类似Sora的视频生…

最简单的基于 FFmpeg 的 AVDevice 例子(屏幕录制)

最简单的基于 FFmpeg 的 AVDevice 例子(屏幕录制) 最简单的基于 FFmpeg 的 AVDevice 例子(屏幕录制)简介libavdevice 使用抓屏方法gdigrabdshow 源程序结果工程文件下载参考链接 最简单的基于 FFmpeg 的 AVDevice 例子&#xff08…

ASUS华硕天选2锐龙版笔记本电脑FA506ICB/FA706IC原装出厂Windows11系统,预装OEM系统恢复安装开箱状态

链接:https://pan.baidu.com/s/122iHHEOtNUu4azhVPnxNuA?pwdsqk7 提取码:sqk7 适用型号: FA506IM、FA506IE、FA506IC、FA506IHR FA506IR、FA506IHRB、FA506ICB、FA506IEB FA706IM、FA706IE、FA706IC、FA706IHR FA706IR、FA706IHRB、F…

FFmpeg【SDK02】关于AVIO的一些使用

读取本地文件&#xff08;网络流&#xff09;信息 #include <iostream> #include <stdio.h>extern "C" { #include <libavformat\avformat.h> #include <libavutil\avutil.h> #include <libavutil\log.h> #include <libavformat\a…

CSS的浮动属性,微信web开发

面试前的准备 在这部分&#xff0c;我将详细讲解面试前我们需要做哪些方面的工作&#xff0c;以保证我们在面试过程中更加顺利。 准备一份漂亮的简历 一份漂亮的简历就是你进入大厂的敲门砖。 网上有很多教程教大家如何写出一份漂亮的简历&#xff0c;这里我就不做重复劳动了…

开源模型应用落地-工具使用篇-Ollama(六)

一、前言 在AI大模型百花齐放的时代&#xff0c;很多人都对新兴技术充满了热情&#xff0c;都想尝试一下。但是&#xff0c;实际上要入门AI技术的门槛非常高。除了需要高端设备&#xff0c;还需要面临复杂的部署和安装过程&#xff0c;这让很多人望而却步。不过&#xff0c;随着…

LiveNVR监控流媒体Onvif/RTSP功能-视频广场点击在线或离线时展示状态记录快速查看通道离线原因

LiveNVR视频广场点击在线或离线时展示状态记录快速查看通道离线原因 1、状态记录1.1、点击在线查看1.2、点击离线查看 2、RTSP/HLS/FLV/RTMP拉流Onvif流媒体服务 1、状态记录 1.1、点击在线查看 可以点击视频广场页面中&#xff0c; 在线 两个字查看状态记录 1.2、点击离线查…

Thinkphp5.1中,将数组赋值给js使用

一、例如Thinkphp5.1中的的代码是这样的 $data [status > 1,msg > 加载成功,data > [id > 1,username > 小洪帽,] ];$this->assign(data,$data);二、JS代码接收PHP中的数组 注意 <> 符号是不需要放引号的。 let arr <?json_encode($data)?>…

【Godot4自学手册】第二十节增加游戏的打击感,镜头震颤、冻结帧和死亡特效

这节我主要学习增加游戏的打击感。我们通过镜头震颤、冻结帧、增加攻击点特效&#xff0c;增加死亡。开始了。 一、添加攻击点特效 增加攻击点特效就是&#xff0c;在攻击敌人时&#xff0c;会在敌人受击点显示一个受击动画。 1.添加动画。 第一步先做个受击点动画。切换到…

交叉编译qt5.14.2

qt源码下载地址&#xff1a;qt-everywhere-src-5.14.2.tar.xz 1.修改qt-everywhere-src-5.14.2/qtbase/mkspecs/linux-arm-gnueabi-g/qmake.conf文件&#xff1a; # # qmake configuration for building with arm-linux-gnueabi-g #MAKEFILE_GENERATOR UNIX CONFIG …

第三篇【传奇开心果系列】Python的自动化办公库技术点案例示例:深度解读Pandas股票市场数据分析

传奇开心果博文系列 系列博文目录Python的自动化办公库技术点案例示例系列 博文目录前言一、Pandas进行股票市场数据分析常见步骤和示例代码1. 加载数据2. 数据清洗和准备3. 分析股票价格和交易量4. 财务数据分析 二、扩展思路介绍1. 技术指标分析2. 波动性分析3. 相关性分析4.…

随想录算法训练营第五十一天|309.最佳买卖股票时机含冷冻期、714.买卖股票的最佳时机含手续费

309.最佳买卖股票时机含冷冻期 public class Solution {public int MaxProfit(int[] prices) {if(prices.Length<2){return 0;}int [,]dpnew int[prices.Length,4];dp[0,0]-prices[0];for(int i1;i<prices.Length;i){dp[i,0]Math.Max(dp[i-1,0],Math.Max(dp[i-1,3]-pric…

STM32CubeIDE基础学习-基础外设初始化配置

STM32CubeIDE基础学习-基础外设初始化配置步骤 前言 前面的文章介绍了基础工程的创建步骤&#xff0c;这篇文章就接着在基础工程的基础上来配置相关外设了&#xff0c;下面以STM32F103C8T6的主芯片为例进行简单配置。 基础工程创建步骤回顾 具体的配置步骤流程如下&#xff1…

【Java数据结构 -- 二叉树有关面试OJ题2】

二叉树OJ面试题 1. 对称二叉树2.二叉树的构建及遍历3.二叉树的层序遍历4.给定一个二叉树, 找到该树中两个指定节点的最近公共祖先5. 二叉树创建字符串用栈来存放路径上的节点 1. 对称二叉树 思路&#xff1a; 在根的值一样接着往下判断判断左树的左子树的值和右树的右子树的值…

【Linux】访问文件的本质|文件描述符|文件重定向

文章目录 文件的结构文件描述符标准输入输出文件描述符的规则 文件重定向输出重定向(对应符号>)echo的输出重定向 输入重定向&#xff08;对应符号<&#xff09;追加重定向&#xff08;对应符号‘>>’&#xff09;实现文件重定向的函数dup2()参数测试 前言&#xf…

could not publish server configuration for tomcat at localhost

1&#xff0c;报错信息如图&#xff1a; 2&#xff0c;找到servers双击&#xff0c;选择Modules&#xff0c;如果有两个webModules ,remove一个&#xff0c; 3&#xff0c;如果重启还是报错&#xff0c;干脆两个都remove&#xff0c;双击tomcat服务add And Remove重新添加