全面认识计算机操作系统(二)

news2024/12/30 4:03:38

目录

一、操作系统的诞生

相关概念:

1. 手工操作阶段

2. 脱机输入 / 输出阶段

(1)脱机输入技术

(2)脱机输出技术

3. 单道批处理阶段

4. 多道批处理阶段

5. 分时技术产生

6. 实时系统产生

二、现代操作系统的新功能

1. 系统安全

(1)认证技术。

(2)密码技术。

(3) 访问控制技术。

(4)反病毒技才。

2. 网络的功能和服务

3. 支持多媒体

三、传统的操作系统结构

1. 无结构操作系统

2. 模块化OS结构

3. 分层式OS结构 

四、面向对象的程序设计技术(Object-Orientated Programming)

五、微内核OS结构

1. 基本概念

(1)足够小的内核

(2)基于客户/服务器模式

(3)应用“机制与策略分离”原理

(4)采用面向对象技术

2. 基本功能

(1)进程(线程)管理。

(2)低级存储器管理。

(3)中断和陷入处理。

3. 微内核操作系统的优点


一、操作系统的诞生

相关概念:

    ① 作业:指 用户程序 及 其所需数据 和 相关操作命令的 集合

    ② 系统吞吐量:单位时间 内完成的 总工作量。

    ③ 平均周转时间长:从 昨夜被 提交到 系统开始,到 作业完成 为止的 这段时间 间隔。

    ④ 单道程序:主存储器中 只存放一个程序。当该 程序发生 某种条件 等待时,CPU暂停 当前程序的 运行,处于 空闲状态

    ⑤ 批处理:将作业 组织成批,依次 将该批作业的 所有信息 全部输入计算机,计算机 按照作业 进入的 先后顺序依次 自动执行。

    ⑥ 时间片:一段很短的时间(e.g. 30ms)。

1. 手工操作阶段

        第一代计算机 并没有操作系统,也没 有任何软件,用户直接用 机器语言 和 符号语言 编制程序,并在 上机时独占 全部计算机资源。那时构 成计算机的 主要元件是 电子管,计算机 的运算速度只有 几千次 / 秒,速度 很慢。那时的 用户既是 程序员又是 操作员,上机 完全是 手工操作。

        操作员 先把装有 程序和 数据的 纸带(或卡片)装上 输入机,接着 通知输入 设备接受卡片,输入的程序 放在 存储器的 某个具体位置,紧接着 通知运算器 运行程序 并处理数据。计算完毕,通知 输出设备打印机 输出结果。用户取走 并卸下 纸带(或卡片)

        第二个程序上机,依次执行 上述过程。操作员 通过控制台的 各种开关来 指挥以上 各个部分的运行。这个 时期只有 操作员才能实现 对计算机的控制。

存在的几个突出问题:

    (1)用户独占全机。一台计算机 的所有资源 都归一个 用户独占,造成 资源浪费

    (2)用户必须 熟悉计算机的 各个部分细节。用户 既是操作员 又是 程序员,要求 用户要熟悉计算机 内部的 每个细节,操作员 是非常专业的,只有他们 才能对 计算机 实行控制。

    (3)等待人工操作。操作员 的手动 速度永远 无法与计算机 的速度 相比,当用户 进行装卸纸带(或卡片)等手工操作 时,机器是空闲的,降低了 CPU 的使用效率

2. 脱机输入 / 输出阶段

        输入/输出操作 在主机控制下 进行则称为 联机输入 / 输出。采用 脱机 输入 / 输出 技术后,低速 I/O 设备上数据的 输入 / 输出 都在外围机的控制下进行,而 CPU 只与高速的 磁带机打交道,从而有效地减少了 CPU 等待慢速设备 输入 / 输出的 时间。 

(1)脱机输入技术

        为 解决低速 输入设备与 CPU 速度 不匹配 的问题,可以将用户程序和数据在一台外围机(又称卫星机)的控制下,预先从低速输入 设备输入 到磁带上,当 CPU 需要 这些程序 和数据时,再直接从 磁带机高速 输入到 内存,从而 大大加快了 输入的速度,减少了 CPU 等待输入的 时间。

(2)脱机输出技术

        当程序运行完毕或 告一段落,CPU 需要输出时,只需 高速地把结果送到 磁带上,然后在外围机 的控制下,把 磁带上的 计算结果由 相应的输出 设备 输出。

3. 单道批处理阶段

        20世纪50年代早期,为了尽量 减少计算机运行中的 人工干预,提高 CPU 的利用率,人们设想使 用户程序在 运行完成后 自动过渡到 另一个 用户程序,实现 程序运行的 自动化。这不仅 可以克服手工操作 的缺点,实现了 作业自动 过渡,还改善了 主机、CPU 和 输入 / 输出设备 的使用情况,提高了 计算机系统的 处理能力

        早期批处理系统中,操作员把 用户提交的 若干个 作业,有选择 的合成一批,按 先后 次序通过输入 设备(纸带输入机 或 读卡机)读入 内存缓冲区,再 存到磁带上。然后在 监督程序的 监督下从磁带 读入一个作业,通过 汇编程序和编译程序,将一个用户 作业翻译成 目标代码,开始处理。处理完后又 读入下一个作业,直至 处理完磁带上的 所有作业。由于 系统对作业的 处理都是分批 进行的,且内存中始终只保持一个作业,故称为单道批处理

工作过程描述:

    ① 操作员将 收到的 一批作业 信息存入 辅助存储器中 等待处理。

    ② 单道批处理 操作系统从 辅助存储器中依次 选择作业,按其作业 说明书的 规定自动控制它的 运行,并将 运行结果 存入 辅助存储器。

    ③ 操作员将该 批作业的 运行结果 打印输出,并分 发给用户。

        问题:当系统内只 有一道程序工作 时,计算机系统 的各部件 不一定能 并行操作,它们的 效能没有 得到 充分发挥。

特点:

    ① 单路性:每次只 允许一个 用户程序 进入内存。

    ② 独占性:整个系统资源 被进入 内存的 一个程序 独占使用,因此 资源利用率 不高。

    ③ 自动性:作业 一个一个地 自动接受 处理,期间 任何用户 不得对系统的 工作进行干预。由于没有 了作业上、下机时用户 手工操作耗费的 时间,提高了 系统的 吞吐量

    ④ 封闭性:在一批 作业处理过程中,用户 不得干预系统 的工作。即便 是某个程序 执行中出现一个 很小的错误,也只能 等到这 一批作业全部 处理完毕后,才能 进行修改,这给用户带来不便。

4. 多道批处理阶段

        不管是 脱机处理,还是早期批处理,它们都是 单道顺序的执行过程,即 一个用户程序 执行完毕,才允许启动 另一个用户程序。这种系统经常出现 资源使用不充分和不均衡的现象,影响了系统的效率。

        于是人们 想到在内存中 驻留 几道程序,当一个 程序因 某种原因 不能执行而暂停时,能 将另一道程序 投入运行,使 硬件资源得到充分利用。于是出现了多道程序技术

        多道程序设计技术 是指 在内存中驻留 多个作业,外存 中存放的 作业形成 等待队列。当某作业处理结束 或 因某种原因 不能运行时,系统 根据一定的 调度原则 从外存中调入 几个作业进入 内存,让它们 交替进行,使得处理机充分利用。

        通道,实质是 一台功能单一、结构简单的 I/O 处理机,它独立于 CPU,并 直接控制外部设备与主机之间的 信息传送。当需要进行 I/O 时,CPU 启动通道,之后 CPU 继续执行 其他程序,通道就 可以独立工作。

        通道执行 通道程序,完成 外部设备的启动、关闭以及信息传输 等操作;在传送规定的 数据后,它才向 CPU 发出一次中断请求,CPU 终止正在 运行的程序,进行 中断处理,处理完后,返回 中断点 继续工作。

        这种处理方式在 单处理机系统中,从微观上来看只能 交替运行,而 宏观上可以认为它们是 并行的。将多道程序技术 引入批处理系统就形成了 一个 多道批处理系统

        上图中,用户程序 A 首先在处理机 上运行,当它 需要 输入数据时,系统为 它启动 输入机进行输入 工作,并调度 用户程序 B 开始运行。当程序 B 请求输出 时,系 统又启动 相应的 外部设备进行工作。当程序 A 的 I/O 处理结束 时,程序 B 仍在 CPU 上运行,则程序 A 等待,直到程序 B 计算结束请求输出时,才转入程序 A 的执行。

工作过程描述:

    ①  操作员 将收到的 一批作业信息存入 辅助存储器中 等待处理。

    ② 多道批 处理操作系统 中的 作业调度程序 从辅助存储器里 的该 批作业中选出 若干合适的作业 装入内存,使它们 不断地 轮流占用 CPU 来执行,使用 各自所需的 外部设备。若内存中 有作业 运行结束,再从 辅助存储器 的后备作业 中选择 对象装入 内存执行。

    ③ 操作员 将该 批作业的 运行结果 打印输出,分发给用户。

特点:

    ① 多道性:计算机 内存中 同时存放 几道相互独立的 程序。

    ② 并行性:同时 进入系统的 几道程序都 处于运行过程中,即它们 都开始运行,但都 未运行完毕。从而有效地 提高了 资源利用率 和 系统的 吞吐量

    ③ 串行性:从微观 上看,主存中 的多道程序 轮流或分 时地 占有处理机,交替 执行。

    ④ 无序性:多道程序执行的 先后顺序 与它们 进入内存的 时间 无严格的 对应性,也许先进入 内存的程序 后完成,而后 进入内存的 程序先完成。

        现代计算机上的批处理系统,多为多道批处理系统

5. 分时技术产生

        20世纪60年代中期,主机速度的不断提高,使 一台计算机同时为 多个终端 用户服务成为可能。采用 分时技术,使每个 终端用户在 自己的终端设备上都以 联机方式 使用 计算机, 好像自己独占机器 一样。

        分时技术,就是 把处理机时间 划分 成很短的 时间片(如几百毫秒) 轮流地分配给各个用户程序使用,如果 某个用户程序 在分配的时间片 用完之前 还未完成计算,该程序 就暂停 执行,等待 下一轮继续计算,此时 处理机让给 另一个用户 程序使用。这样,每个用户 的各次 要求都 能得到 快速响应,给 每个用户的印象是 独占一台计算机。

特点:

    ① 多路性:在一台主机 上连接 多个用户终端。从 宏观上看,多个 用户同时工作,共享 系统的 资源;从 微观上看,各 终端程序是 轮流使用 一个 时间片的。多路 性提高了系统资源的整体利用率

    ② 交互性:用户 在终端上 能随时 通过键盘 与计算机进行 “ 会话 ” ,从而获 得系统的 各种服务,并 控制作业程序的 运行。交互性 使用户 能随时 掌握自己作业 程序的 执行情况,为 用户调试、修改以 及 控制程序的 执行提供 了极大的 便利。

    ③ 独立性:每个 用户在自己的 终端上 独立操作,互不 干扰,感觉 不到其他 用户的存在,就如同自己 “ 独占 ” 该系统似的。

    ④ 及时性:用户 程序轮流 执行 CPU 的一个 时间片,但由于 计算机的 高速处理能力,能保证在 较短和 可容忍的时间 内,响应 和 处理用户请求

6. 实时系统产生

        其主要特征,是将时间 作为 关键参数,它必须 对所 接受的某些信号做出 “及时” 或 “实时” 的反应。由此得知,实时系统是指 系统能及时响应 外部事件的 请求,在规定的 时间内 完成对该事件的 处理,并控制 所有事实任务 协调一致地运行。

        实时系统的 响应时间 是由 被控对象的 要求决定的,一般要求秒级、毫秒级、微秒级甚至更快的响应时间。

类型:

    ① 工业(武器)控制系统。

    ② 信息查询系统。

    ③ 多媒体系统。

    ④ 嵌入式系统。

特点:

    ① 实时性:分时系统的 “ 及时性 ” ,是一种 在用户 可以容忍 的时间 内响应 用户请求 的时间 性能。对于 实时系统 而言,这种 及时性应该 表现为 更高,对外部事件 信号的 接收、分析处理 以及 给出反馈信号 进行 控制,都必须在 严格的 时间限度内 完成。因此,这时的及时性称为 “ 实时性 ” 。

    ② 可靠性:无论 是实时控制 系统 还是 实时信息处理 系统,都必须有 高度的 可靠性。例如对于 后者,计算机 在接收到 远程终端发来 的服务 请求后,系统 应该根据 用户 提出的 问题,对信息 进行检索和处理,并在 有限的时间 内做出正确的 回答。

二、现代操作系统的新功能

1. 系统安全

(1)认证技术。
(2)密码技术。
(3) 访问控制技术。
(4)反病毒技才。

2. 网络的功能和服务

3. 支持多媒体

三、传统的操作系统结构

1. 无结构操作系统

        在 早期 开发操作系统 时,设计者 只是把 他的注意力 放在 功能的实现 和 获得高的 效率上,缺乏 首尾一致的 设计思想。 此时的 OS 是为数 众多的 一组过程 的集合,各过程 之间 可以 相互调用,在 操作系统 内部 不存在 任何结构,因此,这种 OS 是 无结构的,也有 人把它 称为整体系统结构。

        此时 程序设计的 技巧,只是 如何编制 紧凑的 程序,以便于 有效地 利用内存、对GOTO语句的使用 不加任何限制,所设 计出的操作 系统既 庞大又杂乱,缺乏 清晰的程序结构。这一方面会使所编制出的 程序错误很多,给调试 工作带来 很多困难;另一方面 也使程序难 以阅读和理解,增加了 维护 人员的负担。

2. 模块化OS结构

        模块化程序 设计 技术,是最早(20世纪60年代)出现的一种 程序设计技术。该技术是基于 “分解”和 “模块化” 原则 来控制 大型软件的 复杂度的。为使 OS 具有 较清晰的 结构,OS 不再是由众多的 过程直接 构成,而是将 OS 按其 功能划分为若干个 具有一 定独立性和大小的 模块。每个模块具有 某方面的 管理功能,如 进程管理模块、存储器管理模块、I/O 设备管理模块 和 文件管理模块等,并 规定好各 模块间的 接口, 使各 模块之间 能通过 该接口 实现交互。

        然后 再进一步将各模块细分为若干个具有一定管理功能的 子模块,如把 进程管理模块又分为进程控制、进程同步、进程通信和进程调度 等子模块,同样也要 规定各子 模块之间的 接口。若子模块 较大时,再进一步 将它细分。

模块化OS的优点:

    ① 提高了OS设计的 正确性、 可理解性 和 可维护性。 

    ② 增强了OS的 可适应性。 

    ③ 加速了OS的 开发过程。

模块化结构设计的缺点:

    ① 在开始设计OS时,对模块 的 划分及 对 接口的规定 并不精确,而且还可能 存在错误,因而 很难保证 按此规定 所设计出的 模块 会完全 正确,这将使 在把 这些模块装配成 OS 时发生 困难。

    ② 从功能 观点来 划分模块时,未能 将共享资源 和 独占资源 加以区别。由于 管理上的差异,又会使 模块间 存在着复杂的 依赖关系使 OS 结构 变得不清晰。

3. 分层式OS结构 

        从改进设计方式上说,应使我们的 每一步设计都 是建立在 可靠的 基础上

        我们可以从物理机器开始, 在其上面 先添加一层 具有一定功能的软件 A1,由于 A1 是建立在完全确定 的物理机器 上的,在经过 精心设计和几乎 是穷尽无遗 的测试后,可以认为 A1 是正确的;然后再在 A1 上添加一层新软件 A2,……,如此一层一层地自底向上 增添软件层,每一层都实现 若干功能,最后总能构成一个能满足需要的 OS。

        分层式结构 设计的 基本原则是:每一层都仅使用其底层所提供的功能和服务,这样可使系统的调试和验证都变得容易,这样,一旦发现Ai出现错误时,通常该错误只会局限于Ai,因为它与所有其高层的软件无关,而Ai层以下的各层软件,又都经过仔细的调试。

分层结构的优点:

    ① 易保证系统的 正确性。

    ② 易扩充 和 易维护性

分层结构的缺点:

    系统效率降低。 

四、面向对象的程序设计技术(Object-Orientated Programming)

        面向对象技术是 20世纪80年代初 提出并很快流行起来 的。该技术是 基于 “抽象”和“隐蔽” 原则来控制大型软件的复杂度的

        所谓 对象,是指在现实世界中具有相同属性、服从相同规则的 一系列事物的 抽象,而把其中的具体事物 称为 对象的实例。OS 中的各类实体如 进程、线程、消息、存储器等,都使用了对象这一概念,相应地,便有进程对象线程 对象、存储器对象 等。

面向对象技术的优点:

    ① 可修改性和可扩充性。由于 隐蔽了表示实体的 数据 和 操作,因而 可以改变 对象的 表示而不会影响 其它部分, 从而 可以方便地改变老 的对象 和 增加新的 对象。

    ② 继承性。继承性 是面向 对象技术所 具有的 重要特性。继承性 是 指子 对象可以 继承父对象的 属性,这样,在创建一个新的对象时, 便可减少大量的时空开销。

    ③ 正确性和可靠性。由于对象 是构成 操作系统的 基本单元,可以 独立地对 它进行测试,这样,比较易 于保证其 正确性 和 可靠性,从而 比较容易 保证整个系统的 正确性和可靠性。 

五、微内核OS结构

1. 基本概念

(1)足够小的内核

        在微内核的操作系统中,内核是指精心设计的、能实现现代 OS 最基本 核心功能的 小型内核,它 并非是一个完整的 OS,而只是将 OS 中最基本 的部分 放入微内核,为构建 通用 OS 提供一个 重要基础

        它与一般的 OS(程序)不同, 它 更小更精炼,它不仅 运行在核心态,而且 开机后常驻内存, 它不会 因内 存紧张而 被换出 内存。

(2)基于客户/服务器模式
(3)应用“机制与策略分离”原理

① 机制:实现某一功能的 具体执行机构。( “需要提供什么功能”)

② 策略:在机制的基础 上借助于某些参数和算法来实现该功能的优化,或达到不同的功能目标。(“如何使用这些功能”)

(4)采用面向对象技术

2. 基本功能

(1)进程(线程)管理。
(2)低级存储器管理。
(3)中断和陷入处理。(中断是指CPU对 I/O设备发来的中断信号的一种响应。陷入是指由CPU内部事件所引起的中断。)

3. 微内核操作系统的优点

(1)提高了系统的可扩展性。

(2)增强了系统的可靠性。

(3)可移植性强。

(4)提供了对分布式系统的支持。

(5)融入了面向对象技术。


                                        后期再进行补充。


可以结合这篇文章:                        全面认识计算机操作系统(一)

http://t.csdnimg.cn/orLmcicon-default.png?t=N7T8http://t.csdnimg.cn/orLmc

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

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

相关文章

学校里的软件测试专业技能到底怎样,为什么应届生都很难找工作?

大家好,今天和以为在学校教软件测试的老师聊了天,主要聊的主题是-为什么现在大专生就业这么困难。主要总结以下几点! 一是受当下大环境的影响(比如疫情、俄乌、单边主义等);二是今年的应届生实在太多&…

客户案例|100M 768 维向量数据,Zilliz Cloud 稳定支持 Shulex VOC 业

日前,国际化 VOC SaaS 公司数里行间(Shulex)将上亿数据量的核心业务从开源向量数据库 Milvus 迁移至全托管的向量数据库云服务 Zilliz Cloud。 相比于 Milvus,Zilliz Cloud 实现了 Shulex VOC 评论分析洞察报告生成速度 30% 的提升…

伊芙丽签约实在智能,实在Agent数字员工助力品牌效能飙升

近日,国内知名时尚女装品牌伊芙丽与实在智能达成合作,引入业内领先的平台级自动化产品实在Agent数字员工——取数宝,自动获取天猫、淘宝、抖音等线上平台营销数据,开启全域化营销的“提效之旅”。 实在Agent智能体 伊芙丽集团成立…

2024年AI辅助研发趋势:AI辅助科技发展

目录 前言 一、AI辅助研发的技术进展 (一)深度学习在研发中的应用 (二)强化学习在研发中的应用 (三)生成模型在研发中的应用 (四)技术如何推动研发效率的提升 二、2024人工智…

谷歌浏览器如何使用词令官网直达快速打开微博官方网站?

谷歌浏览器如何使用词令官网直达快速打开官方网站? 1、电脑上打开谷歌浏览器,选择打开词令官网直达网站; 2、打开词令关键词口令直达网站; 3、输入网站名称或点击热门历史词令中的网站名称; 4、输入词令搜索直达进入微…

【好书推荐-第十一期】《Java面试八股文:高频面试题与求职攻略一本通(视频解说版)》(博文视点出品)

😎 作者介绍:我是程序员洲洲,一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专家博主、前后端开发、人工智能研究生。公众号:洲与AI。 🎈 本文专栏:本文收录…

如何利用AWS CloudFront 自定义设置SSL

Amazon CloudFront 提供三种选项,可以加速整个网站并从 CloudFront 的边缘站点通过安全的 HTTPS 方式交付内容。除能够安全地从边缘站点交付内容外,您还可以配置 CDN 来使用针对源提取的 HTTPS 连接,这样您的数据就会实现从源到最终用户的端到…

几种摩擦力模型

文章目录 1 摩擦力特性分析1.1 预滑动特性及摩擦滞回1.2 非局部记忆效应1.3 临界摩擦力1.4 低速爬行现象1.5 Stribeck 效应1.6 摩擦滞后特性1.7 法向与切向摩擦力的耦合2 摩擦力数学模型2.1 静态摩擦模型2.1.1 库伦+粘性摩擦模型2.1.2 Stribeck模型-指数型摩擦模型2.2 动态摩擦…

python学习28

前言:相信看到这篇文章的小伙伴都或多或少有一些编程基础,懂得一些linux的基本命令了吧,本篇文章将带领大家服务器如何部署一个使用django框架开发的一个网站进行云服务器端的部署。 文章使用到的的工具 Python:一种编程语言&…

【Ubuntu】原生Ubuntu-dock 栏 安装与卸载

1.查看是否安装 Ubuntu-dock(新版本的Ubuntu自带Ubuntu-dock version> 18.04) gnome-extensions list 2.安装Ubuntu-dock sudo apt install gnome-shell-extension-ubuntu-dock 3.重启,一定要重启!!!…

Jmter接口网站压力测试工具

首先下载Jmeter 官方地址:Apache JMeter - Apache JMeter™ 安装Jmeter 把下载的文件进行解压,产生如下目录: 打开bin文件夹下的jmeter.bat文件及进入程序的主界面窗体jmeter.log是日志文件。 主意:需要配置java环境。 jmter创…

238.除自身以外数组的乘积

题目:给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且…

Oracle数据库的连接

首先:你要去官网下载一个Oracle数据库,并且把它安装完毕,详细操作,大家可以自行百度下载安装,笔者就不在过多阐述。下面开始讲解Oracle数据库的连接。 2.1.1 启动oracle服务 为了节省资源,建议把其中自动启…

基于数组的顺序表删除操作

删除算法需要注意&#xff1a; 1. 列表长度为0时不能再删除 2.每次删除后长度减一 3.输入删除的数据在原来列表中不存在&#xff0c;不需要改变原列表 #include <iostream> #define MAX 100; using namespace std;int search(int arr[],int len,int n) {for(int i0; i…

MongoDB的count() 统计文档数量非常慢

在MongoDB中&#xff0c;count()函数用于统计文档的数量。但是count()函数通常不会使用索引来计算文档数量&#xff0c;而是扫描集合中的文档来计数。当数据量较大的时候&#xff0c;就不适合使用了。 解决方案&#xff1a; 1、使用聚合框架&#xff08;aggregation framewor…

2024 MCM数学建模美赛2024年A题复盘,思路与经验分享:资源可用性与性别比例 | 七鳃鳗的性别比例变化对生态系统稳定性的影响(四)

审题 第三问要我们评估七鳃鳗的性别比例变化对生态系统稳定性的影响。 这里我们就要去查一下生态系统稳定性的定义。 通过查资料我们知道&#xff0c;生态系统稳定性包括生态系统的抵抗力和恢复力。 OK&#xff0c;到这里问题就变成了&#xff0c;七鳃鳗的性别比例对生态系…

神经网络基本使用

1. 卷积层 convolution layers import torch import torchvision from torch import nn from torch.nn import Conv2d from torch.utils.data import DataLoader from torch.utils.tensorboard import SummaryWriterdataset torchvision.datasets.CIFAR10(./dataset,trainFa…

快速入门:JS对象/BOM/DOM/事件监听

本贴介绍JS相对进阶的知识&#xff0c;对于JavaScript的基础语法&#xff0c;本文不再赘述~ 一.JavaScript对象 1.Array数组对象 定义 var arr new Array(1,2,3); var arr[1,2,3]; 访问 arr[0]1; Js数组类似Java中的集合&#xff0c;长度&#xff0c;类型都可以改变。 如…

数据通信练习题

1.0osi七层模型 应用层 data 表示层 会话层 传输层 数据段 防火墙&#xff0c;端口&#xff08;TCP UDP&#xff09; 网络层 数据包 路由器 数据链路层 数据帧 交换机 物理层 比特流 网卡 2.IP地址分类 私有地址 A类 0--127 10.0.0.0…

如何应对Android面试官->玩转Binder机制,手写MMKV核心实现

前言 本章主要基于面试中的常见问题&#xff0c;进行 Binder 机制的讲解&#xff1b; Binder 是什么&#xff1f; 在 Android 中我们所使用的 Activity&#xff0c;Service 等组件都需要和 AMS 通信&#xff0c;这种跨进程的通信都是通过 Binder 完成的&#xff1b; 机制角度…