Java EE|软件视角下的操作系统
文章目录
- 前言
- 操作系统的概念及常见的OS举例
- 操作系统的定位以及它的功能/职责/作用
- 全程高能!!!敲黑板警告!!!
- 一、进程概念(感性认知)
- 二、进程的描述和组织!!!
- 描述
- 组织
- 大体认知
- 三、进程描述之进程调度/CPU分配详解!!!
- 四、进程描述之内存管理/内存分配!
- 五、进程之间通信
- 六、相关拓展知识(了解即可)
- 进程和线程的区别
- 内存管理主要研究的问题
- 参考
前言
虽然,本文我们主要讨论的是软件视角下的操作系统,但是我们还是对操作系统做一个整体概述即软件+硬件角度说明。因为细节很多,所以整篇文章会比较长,请屏幕前的你做好准备嗷~
文章最后附本文的思维导图
操作系统的概念及常见的OS举例
定义:操作系统就是一组做计算机资源管理的软件统称,英文名字叫做operating system,简称OS。
简而言之,它就是一类用来做管理的、分配资源的软件。如果把整个电脑比成一个公司,那么操作系统就相当于是董事长或者总经理。
常见OS举例:
- windows系列,我们常用的基本上就是这个windows系列。
- Linux系统,是我们程序猿必须要掌握的系统。为什么呢?因为它特别适合开发和部署,比如服务器、嵌入式设备以及移动端设备基本上都是使用的linux系统,并且目前公司中绝大多数使用的都是这个系统,而非我们更为熟知的Windows。
- Mac系统,也就是苹果电脑中用的系统。
- Android系列,是手机端的操作系统,在谷歌旗下,本质上也是linux
- ios系列,也就是苹果手机中的OS,与mac系列是同根同源的。
- 鸿蒙……
操作系统的定位以及它的功能/职责/作用
定位:
1.是设备中软硬资源的管理者
2.是程序跑起来的必备条件
补充知识:
电脑能直接识别的只有机器语言(机器码、0、1组成的字符串序列),前辈们为了方便使用,设计了汇编语言(指令集,由一些单词组成的字符集),通过汇编语言操作电脑。但是这还不够方便,所以后来又发展出来了高级语言,我们可以通过高级语言来操作。例如java,编译后生成字节码文件(高级语言----》汇编语言),运行时,字节码变成机器码,被电脑识别(汇编语言—》机器语言)。
操作系统因为对硬件和软件方向都需要是绿灯,所以,需要提供一套指令集方便使用者编写、同时方便电脑硬件识别,以便于驱动硬件,完成程序的执行。但是不同的OS厂商设计的指令集会有所不同,所以,他们提供的驱动程序也不尽相同。
功能:
操作系统(OS)是硬件、软件、用户之间交互的媒介。对上(一般的app),起着给软件提供稳定的运行环境的作用;对下,起着硬件设备管理的作用。
全程高能!!!敲黑板警告!!!
一、进程概念(感性认知)
我们已经知道了,OS为软件提供了操作环境。那么具体是怎么操作的呢?OS对软件通过进程来管理。那么什么是进程呢?
概念:一个跑起来的程序,就叫做进程/任务。进程英文名字叫做process,任务名字叫做task。
例如,我们windows系统就可以通过ctrl+alt+delete调出我们的任务管理器,其实也就是我们这里的进程管理器。
这里我们需要区分两个概念:
进程&程序
1.从概念角度而言
程序:是一套数据处理的步骤,是静态的,表现为一个或一组文件。
进程:进程是程序的一次执行过程。
2.从用户角度而言
一个程序可以多次执行即有多个进程,甚至可以多次同时执行(宏观角度)。进程是程序在运行时的视觉主体。
3.从OS角度而言
进程是OS进行资源分配的基本单位/最小实体。
进程是一个非常重要的软件资源,是由操作系统内核负责管理(描述和组织)的。
那么OS究竟是怎么进行描述和组织的呢?我们接下来详细讨论讨论这个问题。
二、进程的描述和组织!!!
描述
进程的描述一般并不是单个数据能够描述清楚的,往往是一组数据。
在java中,我们可以用类/对象来描述这一组数据,C/C++中用的是结构体来描述的。他们都有一个共同的名字叫做进程控制块****,英文名字叫做process control block简称PCB。
而不管是结构体表示还是类/对象表示,它们的组成都是不变的,都必须包含以下四部分/具有以下四部分特征:
①进程的唯一标识——pid
②内存指针。注意这里的指针不是C/C++的指针,而是一个形象比喻,毕竟我们还有说java呢–它描述了进程关联的程序信息,例如那个程序加载到那个内存里去了。主要解决的就是内存分配的问题,比较重要!。
**③文件描述赋表。**也就是分配给这个资源使用的其他资源的信息。
④进程调度信息。主要解决的就是cpu资源的分配。非常重要!!因此,我们在下边专门开了一个小节讨论这部分内容。
PCB的这四个特性解决了OS操作中/资源分配中的进程标识、内存分配、CPU分配这三个主要问题。
我们在idea或者vs上边打印地址其实并不是真正的地址,有人说哈希出来的虚拟地址,这种说法对吗?我们在后边专门开了一个小节讨论这个问题。
组织
通过一定的数据结构来组织。这里采用的就是一个双向链表来把多个PCB给串到了一起。
大体认知
在基本了解了进程描述和组织之后,我们不难有这样的结论:
-
创建一个进程,本质上就是创建一个PCB这样的(结构体)对象,把它给插入链表中。
-
销毁一个进程,本质上就是把链表中的一个PCB对象给删除
-
任务管理器查看到进程列表,本质上就是遍历这个PCB链表。
三、进程描述之进程调度/CPU分配详解!!!
首先说结论,OS对CPU资源的分配,采用的是时间模式,即不同进程在不同时间段去使用CPU资源。
既然要讨论CPU分配,我们首先需要对它有一个基本的了解吧。
1.什么是CPU?
CPU是一块超大规模热集成电路,是一台计算机的运算核心和控制中心。
2.CPU的分类
决定一棵CPU战斗力的要参数包括“三大两小”。三大:核心数/线程数、频率、架构;两小:缓存、工艺。
这里我们主要关注的是核心数/线程数。
我们经常看到类似于这样的术语“8核16线程”,它的含义就是一个CPU分成8个核心,每个核心又能一个顶俩(超线程技术)。我们可以把每个核心都视为一个独立的CPU。
这里我们注意要区分进程和线程的概念,由于篇幅原因,这里我将会在第6个小节中对它进行说明。这里我们只需要简单知道进程和线程是一对多的关系即可。
了解完cpu,我们现在再来思考一个问题,cpu的核心/线程数是有限的,而我们需要处理的数据是海量的,这样就无可避免的会造成一个问题,那就是进程/线程并发。而谈到并发我们又往往会联想到并行,所以,我们再来讨论一下cpu资源分配过程中的并发和并行问题。
先来说结论,我们是希望同时进行的,为的是效率更高一些,为此,前辈们提出了一个概念——分时并发,同时涉及到并行和并发。
注意:不管是并行还是并发,一个核心上只能执行一个进程。
并行,微观上来讲,就是同一时刻,两个核心上的进程时可以同时执行,宏观上也是同时执行的。【可以理解为平行关系,互不干扰完全没问题】
并发,微观上来讲,就是同一时刻,(一个核心的多个进程是不可以同时执行的,只是跟并行并发没关系),一个核心一次只能执行一个进程,但是他能通过对进程进行快速的切换,达到宏观上,同时执行的假象。
可以暂时这样理解:
并行讨论的是cpu的不同核心上的进程,并发讨论的是同一个核心上的不同进程。
对于宏观上同时执行的进程,是并行或者并发的关系。如果这两个进程是在同一个核心上,那么就是并发的关系;如果是在不同核心上,那么就是并行的关系。
因此,分时并发就可以解决数据量比较大的时候程序的运行问题,服务于很多的进程。另外,宏观而言,并行和并发我们并不能区分,因此很多时候我们把并行和并发统称为并发,如果不显式声明的话。
讨论完cpu和并行并发这些背景知识,我们来看进程到底是怎么调度的?
进程的调度通常是通过调度器完成的。调度器有以下几种核心属性:
-
进程的状态
- 就绪状态:随叫随到,就成随时准备好了去cpu上执行
- 运行状态:正在执行
- 阻塞状态:短时间内无法响应……
- ……(其他的了解/用到再查也可以,先掌握这些重要的)
-
优先级
进程之间也是有优先级的,联想优先级队列
-
上下文
情景:加到一半断电了。此时就需要有人/部件记录这个状态,在cpu中当一下子加载不完也是需要上下文这个功能。
上下文本质上就是我们存档的内容。
进程的上下文就是cpu中各个寄存器的值。(联想cpu的功能)
保存这些上下文,就是把这些cpu寄存器的值,保存到内存中去。恢复上下文就是把这些cpu的值加载回去。
-
记账信息
操作系统中,统计每个进程再cpu上占用的时间和指令的舒木木,根据这个决定来决定下一阶段如何调度。
相当于一个会议记录,方便复盘。
四、进程描述之内存管理/内存分配!
首先说结论,OS对内存资源的分配,采用的是空间模式,即不同进程使用内存中的不同区域,互相不会干扰。
既然要讨论内存,我们首先需要对它有一个基本的了解吧。
1.什么是内存?
内存是内存器,一般表现形式有内存条等等。
2.内存功能
暂时存放 CPU 中的运算数据, 以及与硬盘等外部存储器 交换数据。
3.内存条简单介绍
虚拟地址与物理地址:
物理地址:真实的内存地址
虚拟地址:物理地址被操作系统转换后的地址
这么做的原因是:同一个进程不一定会被放在内存的同一个位置,而且不同的进程因为地址的不同,而且可能不连续,编写程序会变得很复杂。
虚拟地址是暂时承诺给你,等你需要(访问这段内存)的时候才会给你分配内存
五、进程之间通信
进程一多,无可避免的会带来一些问题,比如进程相互影响的问题。我们可以把它们全部隔离吗?不可靠,如果这些进程之间有相互依赖/配合的关系呢?需要他们进行相互配合。
这个时候我们就需要在隔离性的基础上“开个口子”,搞一个多个进程都能访问到的“公共空间”,基于这个公共空间来交互数据。
通信方式/公共空间有很多具体的体现形式,我们重点掌握两种**,基于文件和基于网络**即可。
六、相关拓展知识(了解即可)
进程和线程的区别
- 线程是依赖于进程存在的
- 进程和线程是一对多的关系
- 进程是os资源分配的基本单位,线程是cpu调度的基本单位
内存管理主要研究的问题
- 那些内存已经被分出去,那些还没有
- 已经分配出去的内存什么时候回收,怎么进行回收
- 物理地址到线性地址的转换。。。
- 内存碎片问题。。。
参考
CPU
OS
相关文章
- 设计-命令模式
1.什么是命令模式 命令模式(Command Pattern)是一种数据驱动的设计模式,它属于行为型模式。请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象…...
2023/3/26 20:25:04 - [附源码]Python计算机毕业设计安庆师范大学校园互助平台
项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…...
2023/3/26 20:24:17 - discuz默认密码
DZ论坛后台怎么查看用户现在的密码呢?展开1全部查看不了。discuz密码是单向加密,不能解密的。不止后台查看不了,连会员自己都无法查看,只能通过重置密码的方式,发送重置链接到注册邮箱,重置密码。后台管理员有权限重置会员密码,但是没有办法查看到。听说可以直接查看数据…...
2023/3/26 20:24:10 - 云存储多少钱一个月
云终端是如何防止存储的数据外泄?它的数据是存储在哪里?展开1全部电脑PC的数据存储模式是单独存储在自己的电脑上,这样造成了数据存储的分散,非常容易造成公司的信息外泄,而云终端却不会这样。云终端的所有的数据都集中存储在服务器上,只有管理员才能进行删除与修改,而且…...
2023/3/26 20:24:03 - python基于PHP+MySQL的在线汽车租赁管理系统
随着时代的发展,汽车已经成为当代人们代步的主要工具。但是很多时候人们并没有购车的念头,这个时候就出现了一种新的行业,就是汽车租赁行业,这样不仅可以解决用车的需求,而且可以节省大量的购车成本,为了能够方便用户进行汽车租赁我们开发了PHP在线汽车租赁管理系统,本系统分为…...
2023/3/26 20:23:41 - Android 使用Linphone SDK开发SIP客户端
平台 RK3288 Linphone 5.1.0 Android Studio概述 简单来说, 有了解过互联网电话服务或IM(即时消息)功能的.一般都会接触到VOIP和SIP, 实现即时通讯, 发文本消息也好话音通话也好, 甚至于视频通话. 关于SIP(Session Initiation Protocol,会话初始协议&…...
2023/3/26 20:23:14 - m基于PSO粒子群优化的第四方物流的作业整合算法matlab仿真,对比有代理人和无代理人两种模式下最低运输费用、代理人转换费用、运输方式转化费用和时间惩罚费用
目录 1.算法概述 2.仿真效果预览 3.核心MATLAB程序 4.完整MATLAB程序 1.算法概述 粒子群优化 (PSO)算法是通过模拟鸟群觅食过程中的迁徙和群聚行为而提出的一种基于群体智能的全局随机搜索算法。PSO是将群体(swarm)中的个体看作是在D维搜索空间中没有质量和体积的粒子(part…...
2023/3/26 20:22:42 - 讲讲URL与URI的区别
刚开始学Java不太理解URL和URI的内容,在网上查阅资料后这里贴贴整理一些大佬的总结 文章目录URL类URL语法URI类URI语法URI和URL的区别uri和url的关系有什么作用?url的作用uri的作用URL类 URL可以唯一地标识一个资源在 Internet 上的位置。 URL类是 Jav…...
2023/3/26 20:22:30 - MapReduce 编程模型到底是怎样的?
前言 本文隶属于专栏《1000个问题搞定大数据技术体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和参考文献请见1000个问题搞定大数据技术体系 正文 MapReduce 编程…...
2023/3/26 20:21:37 - android 静默升级 卸载功能实现
一、近期需要实现一个apk静默升级卸载自启动功能,首先需要获取系统root权限才能执行静默升级,下面不墨迹直接上代码. 首先是MainActivity 页面 package com.example.tiaoshiapkjingmo;import androidx.appcompat.app.AppCompatActivity; import okhttp3.…...
2023/3/26 20:20:57 - 嵌入式和单片机开发模式的区别
一、 开发模式 单片机开发多为裸机,程序规模小,多为单个程序员独立开发。有些复杂产品也会使用高端单片机如STM32之类,并使用RTOS(uCOS、freeRTOS等)。嵌入式开发几乎全部基于嵌入式操作系统,目前使用最多的是 linux 和Android。…...
2023/3/26 20:20:44 - 如何将snake模型与Hopfield神经网络结合用于提取边缘
Computerized Tumor Boundary Detection Using a Hopfield Neural Network这篇论文给出了结合的思想此方法在论文中被用于提取人脑多层MRI图像上每个切片中的脑肿瘤的边界。首先使用低通线性滤波器对每个原始MRI数据切片进行预处理以增强图像。然后根据形态学过程得到的轮廓为初…...
2023/3/26 20:20:34 - msyql锁分类
mysql锁分类 数据库中的锁一般都是自动加的 mysql锁主要分为两大类: 悲观锁 按作用性质分 读锁(共享锁、S锁) 事务A在读取一个记录a时,会先回去该记录的读锁,之后其他事务可以获取该记录的读锁并读取,但是不能修改。 如果事务A需要…...
2023/3/26 20:19:51 - Redis学习(2)—— 常用命令
Redis存储的是key-value结构的数据,其中key是字符串数据,value有5种常用的数据类型:①字符串;②哈希hash;③列表list(按照插入顺序排序,可以有重复元素);④集合set&#…...
2023/3/26 20:19:46 - FPGA实现SDI硬件解码UDP网络传输,送工程源码和QT上位机显示程序
1.SDI视频格式简介 SDI的视频格式说起来复杂,但作为FPGA开发者,我们只需要关心我编解码相关的内容即可。 常见的SDI视频格式主要包括SD-SDI、HD-SDI、3G-SDI三种,其比特率依次增加,也对应着不同分辨率和刷新率的视频。 频率的计…...
2023/3/26 20:19:37 - 古有愚公移山,今有冤种搬家~某人含泪写完了搬家脚本~~
文章目录🌳 Long time no see🍄收!回归主题🍂 脚本代码的出生和结束🎃老朋友Get_cookie.py🌿真的要搬家了~🌱搬家工具介绍🌼搬家过程搬家准备开始搬家🌾搬家源码⏰结束语…...
2023/3/26 20:18:43 - Android应用之PreferenceFragment
最近在看Android源码Setting代码的时候,发现其中配置都是用的PreferenceFragment,以前对这一块不是很了解, 查资料看了一下,感觉用起来好方便。 PreferenceFragment的界面也是写在一个XML文件中,不过不是放在layout目…...
2023/3/26 20:18:18 - 2022-01-17 在pod内部操作k8s
目录 摘要: 使用模块: 例子: 说明: pod的接口: 摘要: 因为某些业务需要在pod内部直接操作k8s, 本文记录如何处理. 使用模块: client-go标准接口: https://github.com/kubernetes/client-go 例子: 在pod内访问k8s: https://github.com/kubernetes/client-go/tree/maste…...
2023/3/26 20:17:02 - 常见网络安全攻击路径分析与防护建议
攻击路径是指网络攻击者潜入到企业内部网络应用系统所采取的路径,换句话说,也就是攻击者进行攻击时所采取的相关措施。攻击途径通常代表着有明确目的性的威胁,因为它们会经过详细的准备和规划。从心怀不满的内部人员到恶意黑客、间谍团伙&…...
2023/3/26 20:16:45 - ROS实验笔记之——FAST-LIVO
最近IROS22的FAST-LVIO源码开源了,笔者赶紧测试一下。 源码链接:GitHub - hku-mars/FAST-LIVO: A Fast and Tightly-coupled Sparse-Direct LiDAR-Inertial-Visual Odometry. 论文连接:https://arxiv.org/pdf/2203.00893.pdf 配置过程 首…...
2023/3/26 20:16:24
最新文章
- Java EE|软件视角下的操作系统
文章目录前言操作系统的概念及常见的OS举例操作系统的定位以及它的功能/职责/作用全程高能!!!敲黑板警告!!!一、进程概念(感性认知)二、进程的描述和组织!!&a…...
2023/3/26 20:25:44 - 大数据技术之Hudi
Hudi概述 1.1 Hudi简介 Apache Hudi(Hadoop Upserts Delete and Incremental)是下一代流数据湖平台。Apache Hudi将核心仓库和数据库功能直接引入数据湖。Hudi提供了表、事务、高效的upserts/delete、高级索引、流摄取服务、数据集群/压缩优化和并发&a…...
2023/3/26 20:25:38 - 06- OpenCV查找图像轮廓 (OpenCV基础) (机器视觉)
知识重点 灰度图转换: gray cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)二值化: 返回两个东西,一个阈值, 一个是二值化的图: thresh, binary cv2.threshold(gray, 150, 255, cv2.THRESH_BINARY)查找轮廓: 返回两个结果,分别是轮廓和层级: c…...
2023/3/26 20:25:37 - while循环和for循环
一、while循环 1、while 循环,只要条件为真,我们就可以执行一组语句。 2、while 循环需要预先设置索引变量。如下:我们需要定义一个变量 i,初始值设置为 1。 i 1 while i < 7:print(i)i 13、break 语句 如果使用 break 语…...
2023/3/26 20:25:28 - Redis简单入门
Redis简介 Redis是一个开源的使用C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value的NoSQL数据库。特点如下: 读写速度快:Redis官网测试读写能到10万左右每秒。速度快的原因这里简单说一下,第一是因为数据存储在内存中,我们知…...
2023/3/26 20:25:25 - 关于Lua的os.date转换和游戏海外版本时区问题
因为之前没弄过lua语言,后面换了工作,游戏使用lua热更,所以逻辑都是用lua写,在做功能的时候需要获得服务器下一个点的时间搓,例如下一个0点时间搓或者下一个12点的时间搓之类的,这个时候就需要用到os.date来…...
2023/3/26 20:25:09 - 做开发的朋友说软件测试是个人都能学,我当面怒怼
那就分析一下测试工程师需要会哪些技能: 01 软件测试理论 作为一个软件测试人员,总不能不知道软件测试本身的东西吧。 你总要知道软件测试是什么?什么是测试用例?什么是缺陷?软件测试有些什么特点?这些…...
2023/3/26 20:25:04 - 设计-命令模式
1.什么是命令模式 命令模式(Command Pattern)是一种数据驱动的设计模式,它属于行为型模式。请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象…...
2023/3/26 20:25:04 - 【学长带练】编程手算题
目录 1、空间 2、ASC 3、特殊时间 4、相乘 1、空间 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 小蓝准备用 256MB 的内存空间开一个数组,数组的每个元素都是 32 位二进制整数,如果不考虑程序占…...
2023/3/26 20:25:01 - MySQL-MySQL数据库索引总结
1、索引介绍 索引是一种用于快速查询和检索数据的数据结构,其本质可以看成是一种排序好的数据结构。索引的作用就相当于书的目录。在MySQL中,无论是Innodb还是MyIsam,都使用了B树作为索引结构。 2、索引类型 (1)主键索…...
2023/3/26 20:25:01 - sklearn主成分分析PCA
文章目录基本原理PCA类图像降维与恢复基本原理 PCA,即主成分分析(Principal components analysis),顾名思义就是把矩阵分解成简单的组分进行研究,而拆解矩阵的主要工具是线性变换,具体形式则是奇异值分解。 设有mmm个nnn维样本X…...
2023/3/26 20:25:00 - 黑马redis学习记录:缓存
一、介绍 什么是缓存? 缓存(Cache),就是数据交换的缓冲区,俗称的缓存就是缓冲区内的数据,一般从数据库中获取,存储于本地代码 缓存无处不在 为什么要使用缓存? 因为速度快,好用缓存数据存储于代码中,而…...
2023/3/26 20:24:49 - 同步辐射XAFS表征方法的应用场景分析
X射线吸收精细结构XAFS表征方法是一种用于研究物质结构和化学环境的分析技术。XAFS 使用 X 射线照射到物质表面,并观察由此产生的 X 光吸收谱。 XAFS 技术通常应用于研究高分子物质、生物分子、纳米结构和其他类型的物质。例如,XAFS 可以用来研究高分子…...
2023/3/26 20:24:36 - [USACO2023-JAN-Bronze] T2 Air Cownditioning II 题解
一、题目描述Farmer John 的农场记录到夏天以来最热的气温,他需要一些方法来给他的奶牛降温。因此,他决定去投资购买一些空调。Farmer John的N头牛(1≤N≤20)住在一个谷仓里,谷仓里包含了一排牛棚,每个牛棚对应编号为1…100。第i头…...
2023/3/26 20:24:27 - Word控件Spire.Doc 【Table】教程(16):C#/VB.NET:在 Word 表格中插入或提取图像
Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库。在于帮助开发人员无需安装 Microsoft Word情况下,轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档。拥有近10年专业开发经验Spire系列办公文档开发工具,专注于创建、编辑、转…...
2023/3/26 20:24:21 - [附源码]Python计算机毕业设计安庆师范大学校园互助平台
项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…...
2023/3/26 20:24:17 - discuz默认密码
DZ论坛后台怎么查看用户现在的密码呢?展开1全部查看不了。discuz密码是单向加密,不能解密的。不止后台查看不了,连会员自己都无法查看,只能通过重置密码的方式,发送重置链接到注册邮箱,重置密码。后台管理员有权限重置会员密码,但是没有办法查看到。听说可以直接查看数据…...
2023/3/26 20:24:10 - 【C语言】编程初学者入门训练(9)
文章目录81. 被5整除问题82. 计算y的值83. 包含数字9的数84. 奇偶统计85. 统计成绩86. 密码验证87. 矩阵计算88. 成绩输入输出问题89. 逆序输出90. 统计数据正负个数81. 被5整除问题 问题描述:判断一个整数是否能5整除是一个挺简单的问题,懒惰的KiKi还是…...
2023/3/26 20:24:10 - 云存储多少钱一个月
云终端是如何防止存储的数据外泄?它的数据是存储在哪里?展开1全部电脑PC的数据存储模式是单独存储在自己的电脑上,这样造成了数据存储的分散,非常容易造成公司的信息外泄,而云终端却不会这样。云终端的所有的数据都集中存储在服务器上,只有管理员才能进行删除与修改,而且…...
2023/3/26 20:24:03 - Acwing 1277 分巧克力
Acwing1277分巧克力 (二分) 儿童节那天有 K 位小朋友到小明家做客。 小明拿出了珍藏的巧克力招待小朋友们。 小明一共有 N 块巧克力,其中第 i 块是 HiWi 的方格组成的长方形。 为了公平起见,小明需要从这 N 块巧克力中切出 K 块巧克力分给小朋友们。…...
2023/3/26 20:23:59