当前位置: 首页 > news >正文

OS管理和进程的学习

1.冯诺依曼体系结构

1.1

输入设备:键盘,鼠标,键盘,网卡(网络接受),磁盘...

输出设备:显示器,磁盘,网卡(网络发送) ....

存储器:内存--进行运行程序,读取文件,写入文件....

运算器:对我们数据进行计算。

控制器:对计算机的进程进行控制。

运算器和控制器都在CPU中,冯诺依曼体系结构想要协同操作起来,就需要一根线进行连接,我们把它叫做总线,总线分为IO总线和系统总线。

IO总线:存储器 运算器 控制器之间的线

系统总线:存储区 输入设备 输出设备之间的线

1.2设计原因:

我们可以发现,输入设备没有直接去和CPU进行数据交流,而是先放到了寄存器当中,为什么会这样设计呢?原因就是CPU的运算是纳秒级别,非常非常快,而输入设备或者输出设备要进行读取数据的时候,要去磁盘中读取数据,而硬盘读取数据是毫秒,所以并不能同时很好的运行,而计算机的运算速率最后取决于什么,就是取决于那个慢的,所以这么做就白瞎了CPU这么快的运算速率了。所以有了内存,进行协调CPU和硬盘,这样输入设备和输出设备都直接和寄存器打交道,数据从寄存器到CPU,再从CPU到寄存器,最后到输出设备。

冯诺依曼这套设计理念,会提高CPU的运行效率,就是怎么说,CPU读取数据的时候,也会进行别的操作,然后边读取也可以别输出,所以并不是需要完全等数据读取完才会进行工作,所以不是单向的提高了速率,而是双向的提高效率,边输入边输出的效率。

1.3:

1.3.1一个程序运行的要先加载到内存中,为什么?:程序需要到CPU才能进行运行,而CPU是从哪里获取数据的?---内存

缓存存在内存中

二:OS系统

1.操作系统是什么:任何计算机系统都包含一个基本的程序集合,称为操作系统 (OS) 。笼统的理解,操作系统包括:
内核(进程管理,内存管理,文件管理,驱动管理)
其他程序(例如函数库,shell程序等等)
OS操作系统就像是一个管理者,进行管理同时运行的程序,进行合理的 管理软硬件资源
2.设计目的
与硬件交互,管理所有的软硬件资源(对下)
为用户程序(应用程序)提供一个良好的执行环境(对上)
2.系统是如何调用的: 先描述再组织
如果是对硬件的,其实每个硬件可以看成一个结构体,然后在这个结构体当中就会有硬件的状态啦,优先级啦等等,然后最后把每个硬件用链表连接起来,最后对硬件的操作,就是相当于对链表的操作--增删查改,这种思路就是先描述再组织。
3.如何理解系统调用
OS系统并不是直接和用户进行打交道的,而是程序员进行和OS操作,所以用户用的都是程序员创建好的程序,然后给用户提供图形化界面的接口,让非程序员的人可以点击鼠标进行操作,比如打游戏。而程序员也是上层用户,用的书系统调用接口提供的用户操作接口,然后我们就能进行指令操作,进行开发等等。而且OS操作系统,是不信任用户的,因为用户并不懂OS操作系统,如果新任用户,让用户对OS进行操作,就会导致非常多的bug。
结论就是,用户进行的开发操作或者玩游戏的操作,都是通过库或或者图形化界面的接口或者外壳或者指令进行系统调用。
OS虽然不相信用户,但是你可以使用它的程序 ,只是不让你修改人家的内部结构和内容。但是我们程序员该怎么和OS进行交流呢。 OS留了内部函数,各种库给外部—也就是留了接口,可以让程序员进行操作--进行系统调用。操作系统,C编译器,和几乎所有的 UNIX 应用程序 都是用 C  语言编写的,所以接口一定和c语言或者c++有关,底层平台的接口都必须和c有关,没有c或者c++,就没有接口,没有接口就不能使用操作系统,不能使用操作系统,就不能使用键盘,鼠标,网卡等地等。
总结就是,操作系统和库函数,封装的各种库,接口等等等 是上下级关系

三:进程

1:什么叫进程:(内部数据结构+代码程序和数据

我们如何管理进程,就是通过管理进程的属性数据,为了管理进程的属性数据,属性数据存进结构体--PCB(task_struct),管理结构体,我们就要为它创建数据结构--链表,然后操作系统就能调度进程这个也是先描述再组织。

2.进程是运行起来的程序,进程会根据task_struct 属性,被OS调度器调度,运行,每次按照一定的时间运行一定的时间,然后再调度下一个进程。进程是被调度的

3.为什么要有PCB->操作系统要管理,怎么管理就是先描述,描述的方法就是存进PCB中。

那PCB里面有哪些属性呢?:下次再见哈哈哈哈

相关文章:

OS管理和进程的学习

1.冯诺依曼体系结构 1.1 输入设备:键盘,鼠标,键盘,网卡(网络接受),磁盘... 输出设备:显示器,磁盘,网卡(网络发送) .... 存储器&…...

Linux 部署 Harbor 镜像仓库详解

文章目录 安装 Docker安装 Harbor访问 Harbor 安装 Docker 本次部署流程使用的是1台阿里云ECS,Ubuntu 22.04,2核4G。 首先需要做的是在当前服务器上,安装好 Docker,参考链接如下: https://blog.csdn.net/weixin_4659…...

怎么把flv格式转换成mp4?将flv格式换成MP4格式的简单方法

怎么把flv格式转换成mp4?flv这一昔日网络视频领域的璀璨明星,凭借其小巧的文件体积与卓越的流媒体传输性能,曾在网络视频时代初期大放异彩,成为无数网络视频爱好者的首选。然而,随着科技的日新月异与多媒体设备的多元化…...

原型模式和建造模式的区别

原型模式(Prototype Pattern)和建造者模式(Builder Pattern)虽然都是创建型设计模式,但它们的应用场景和实现方式有着显著的区别。以下是二者的详细对比: 1. 意图和应用场景 原型模式: 意图&a…...

最新 client-java 调用 k8s ApiServer

创建权限绑定 sa-role.yaml apiVersion: v1 kind: ServiceAccount metadata:name: my-admin #账号名namespace: kube-system--- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata:annotations:rbac.authorization.kubernetes.io/autoupdate: "true…...

TCP单包数据大于1460字节会被拆包的问题

关于TCP单包数据大于1460字节会被拆包的问题 1、问题背景: 最近在用STM32W5500做项目,需要STM32通过TCP协议发送数据到上位机并显示。当数据量小的时候上位机显示正常,一旦数据量大过大上位机就会出现数据丢失的情况,甚至数据直接…...

苏宁关键字搜索接口技术解析与实战

在当今的电商领域,搜索功能无疑是用户寻找心仪商品的最重要途径之一。苏宁作为国内知名的电商平台,其提供的API接口服务为开发者提供了丰富的商品数据。本文将详细介绍如何使用苏宁的关键字搜索接口,通过编写代码实现商品搜索功能。 接口概述…...

Java学习教程,从入门到精通,Java 基本数据类型详解(5)

Java 基本数据类型详解 Java是一种强类型语言,这意味着在Java程序中,每个变量都必须明确声明其数据类型。Java提供了八种基本数据类型(Primitive Data Types),这些类型都是预先定义好的,并且每种类型都占用…...

使用Flask实现本机的模型部署

前言 模型部署是指将大模型运行在专属的计算资源上,使模型在独立的运行环境中高效、可靠地运行,并为业务应用提供推理服务。其目标是将机器学习模型应用于实际业务中,使最终用户或系统能够利用模型的输出,从而发挥其作用。 一、设…...

基于SSM的校园跑腿网站的设计与实现

文未可获取一份本项目的java源码和数据库参考。 课题来源及研究的目的和意义 随着网络技术的不断完善与发展,各种互联网公司不断如雨后春笋般不断涌现,丰富了人们生活的各个方面。近年来由于 Online To 0ffline即线上到线下(020)模式的发展和兴起&…...

【Java】正则表达式详解

目录 引言 一、基本概念 1.1 元字符 1.2 预定义字符类 1.3 边界匹配符 1.4 数量标识符 1.5 捕获与非捕获分组 二、Java中的正则表达式支持 三、正则表达式的使用示例 3.1 匹配字符串 3.2 替换字符串 3.3 分割字符串 3.4 使用Pattern和Matcher 3.5 捕获组和后向…...

Java知识巩固(七)

目录 面向对象 面向对象三大特征 封装 继承 多态 多态 深拷贝和浅拷贝区别了解吗?什么是引用拷贝? 浅拷贝 深拷贝 面向对象 万物皆为对象,也就是描述某个事物解决问题的过程中所发生的事情。 面向对象三大特征 封装 封装是指把一个对象的状态信息&…...

Ubuntu22.04 更换源

Ubuntu22.04 更换网易163源 1、编辑/etc/apt/sources.list文件 1 sudo nano /etc/apt/sources.list 2、清空文件内容,拷贝下列163源到文本。 1 2 3 4 5 6 7 8 deb http://mirrors.163.com/ubuntu/ jammy main restricted universe multiverse deb http://mirro…...

江恩理论和波浪理论的结合

结合波浪理论和江恩理论需要综合考虑市场波动的形态以及时间和价格的关系。这两者都是技术分析中的重要工具,能够帮助投资者更好地理解市场的趋势和未来的走势。 波浪理论(Elliott Wave Theory) 波浪理论是由Ralph Nelson Elliott提出的&…...

AJAX——AJAX 取消请求

利用 abort()方法取消请求 本文分享到此结束,欢迎大家评论区相互讨论学习,下一篇继续分享AJAX中请求重复发送问题的学习。...

ruoyi域名跳转缓存冲突问题(解决办法修改:session名修改session的JSESSIONID名称)

【版权所有,文章允许转载,但须以链接方式注明源地址,否则追究法律责任】【创作不易,点个赞就是对我最大的支持】 前言 仅作为学习笔记,供大家参考 总结的不错的话,记得点赞收藏关注哦! 目录 前…...

嵌入式QT中基本工程模板分析

大家好,今天主要来分享一下,如何分析一下QT的工程代码文件。 第一:QT工程分析...

Linux网络:UDP socket - 简单聊天室

Linux网络:UDP socket - 简单聊天室 聊天通信架构ServerInetAddrUdpServerMessageRoutermain Client测试 聊天通信架构 本博客基于Linux实现一个简单的聊天通信服务,以熟悉Linux的网络接口。 总代码地址:[UDPsocket-简单聊天通信] 文件结构…...

Codeforces Round 646 (Div. 2) E. Tree Shuffling(树,贪心)

题目链接 Codeforces Round 646 (Div. 2) E. Tree Shuffling 思路 考虑一个节点 u u u,显然它子树中的操作可以由它本身和祖先来进行。如果它的祖先有比它花费更小的,直接跳过节点 u u u。 我们分别记录每一个子树中位置不对的 0 0 0和 1 1 1的个数&…...

HCIE-Datacom题库_11_IPsecVPN【17道题】

一、单选题 1.IPsecSA(SecurityAssociation,安全联盟)有两种生成方式,分别是手工方式和IKE自动协商方式,以下关于这两种方式的描述中,错误的是哪一项? 手工方式和IKE方式建立的SA都支持动态刷新 IKE方式建立的SA,其生存周期由…...

【网络】每天掌握一个Linux命令 - iftop

在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...

安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件

在选煤厂、化工厂、钢铁厂等过程生产型企业,其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进,需提前预防假检、错检、漏检,推动智慧生产运维系统数据的流动和现场赋能应用。同时,…...

DAY 47

三、通道注意力 3.1 通道注意力的定义 # 新增:通道注意力模块(SE模块) class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...

电脑插入多块移动硬盘后经常出现卡顿和蓝屏

当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时,可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案: 1. 检查电源供电问题 问题原因:多块移动硬盘同时运行可能导致USB接口供电不足&#x…...

全志A40i android7.1 调试信息打印串口由uart0改为uart3

一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...

C++八股 —— 单例模式

文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性&#xf…...

Spring数据访问模块设计

前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...

【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统

目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索(基于物理空间 广播范围)2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...

基于Springboot+Vue的办公管理系统

角色: 管理员、员工 技术: 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能: 该办公管理系统是一个综合性的企业内部管理平台,旨在提升企业运营效率和员工管理水…...

毫米波雷达基础理论(3D+4D)

3D、4D毫米波雷达基础知识及厂商选型 PreView : https://mp.weixin.qq.com/s/bQkju4r6med7I3TBGJI_bQ 1. FMCW毫米波雷达基础知识 主要参考博文: 一文入门汽车毫米波雷达基本原理 :https://mp.weixin.qq.com/s/_EN7A5lKcz2Eh8dLnjE19w 毫米波雷达基础…...