自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 设计模式——单例模式

1. 饿汉式:线程安全类加载时初始化,使类的初始化较慢public class Singleton { // 饿汉式 private static Singleton instance = new Singleton(); private Singleton() { } public static Singleton getInstance() { return instance; }}2. 懒汉式:线程安全,效率低p.

2021-09-09 23:19:47 102

转载 计网-链路层

链路层的基本服务:将数据报通过单一通信链路从一个节点移动到相邻节点,服务细节随着链路层协议的不同而变化。链路层协议提供的服务:成帧 链路接入 kekao

2021-06-30 16:12:06 1190

转载 计网-应用层

应用层协议原理网络核心设备仅在较低层起作用,特别是网络层及以下层。应用程序:能够运行在不同端系统,能通过网络彼此通信的程序。网络体系结构是固定的,并为应用程序提供了特定的服务集合。01 应用程序体系结构:由应用程序研发者设计,规定了如何在各终端系统上组织该应用程序。客户-服务器:客户之间不直接通信;服务器有固定IP地址,并总是打开的。数据中心用于创建强大的虚拟服务器,以解决单台服务器无法跟上所有客户请求的情况。 web应用程序 对等P2P:对服务器有很小的(或没有)依赖。应用程

2021-06-21 09:32:59 528

转载 计网-运输层

1. 运输层服务运输层协议为运行在不同主机上的进程间提供了逻辑通信功能。运输层协议在端系统中实现。

2021-06-21 09:29:34 243

转载 计网-网络层

在网络中的每一台主机和路由器都有网络层。网络层分组叫做数据报。数据平面:从输入链路向输出链路转发(forwarding)数据报。时间尺度短,常由硬件实现。控制平面:(路由选择routing)当分组从发送方流向接收方时,网络层决定这些分组采用的路径。时间跨度长,常用软件实现。尽力而为服务:...

2021-06-21 09:28:57 639

转载 进程、线程、纤程、协程

进程是操作系统分配资源的最小单位。进程拥有代码和打开的文件资源、数据资源、独立的内存空间。01 进程的状态新生 new:被创建,未初始化,不能被调度。 就绪 ready:内核对进程完成初始化,交给调度器,加入运行队列,未被调度。 运行 running:调度器选择该进程,在cpu上运行。 阻塞 blocked:需等待外部事件,暂时无法被调度。 终止 terminated:已完成执行,不会再被调度。内核会回收该进程资源。02 进程的内存布局空间进程具有独立的虚拟内存空间:用户栈

2021-05-18 17:22:12 512

转载 操作系统调度

调度:一个系统会同时处理多个请求,但资源是有限的,调度就是用来协调每个请求对资源的使用方法。优先级:优先级高的请求优先使用资源。时间片:每个请求一次可以占用多长时间的资源。任务(线程)调度一般调度器会通过维护运行队列的方式来管理任务。linux中用红黑树来实现运行队列。任务在执行时若触发一定条件,则会停止执行,如任务还需被执行,则会被加入运行队列等待再次被调度。执行完指定时间片后,将cpu让出 发起I/O请求,I/O返回前不会继续执行 主动停止执行或进入睡眠 被系统中断打断,系统优先处

2021-05-18 17:03:28 571

转载 操作系统-内存管理

内存是用于存放数据的硬件,程序执行前需要放到内存中才会被cpu处理。虚拟内存为了让应用程序之间高效安全的共同使用物理内存资源,在应用程序和物理内存之间加入新的抽象:虚拟内存。物理地址:物理内存可以看成一个数组,每个字节对应的地址就是物理地址。虚拟地址:访问虚拟内存的地址。cpu将虚拟地址翻译成物理地址,进而访问物理内存。内存管理单元 memory management unit MMUcpu中的重要部件,负责地址翻译以下是两种MMU的地址翻译机制01 分段机制:以段为单位进行

2021-05-10 21:59:22 245

原创 操作系统结构

操作系统的设计需要在用户目标和系统目标之间权衡。为什么操作系统要分层级?操作系统功能多,代码规模大,提供合理的层级结构可以降低操作系统复杂度,提升安全性、可靠性与隔离能力。为什么要分用户态和内核态?操作系统运行着用户程序与系统程序,为了系统程序不被干扰或破坏,因此采用分层架构,将操作系统分为用户态和内核态。 为了使操作系统对资源进行有效的利用,将不同的操作给予不同的权限。用户态访问资源受到限制,内核态则不受限制。内核态:是一种特殊的软件程序,控制计算机的硬件资源,例如协调CPU资源,分配内存

2021-05-07 11:05:02 96

转载 硬件结构

指令集架构是cpu和软件之间的桥梁01 指令集:用于数据搬移、计算、内存访问、过程调用等。02 特权级 AArch64为例EL0:最低特权级,应用程序运行在该特权级,也称用户态。 EL1:操作系统运行在该特权级,也称内核态。 EL2:虚拟场景需要。 EL3:与安全特性相关,负责普通世界和安全世界之间切换。从EL0到EL1切换的情况:前两种是同步的特权级切换,第三种是异步的特权级切换。cpu负责保存当前执行状态,以便恢复执行应用程序。应用程序需要调用操作系统提供的系统调用。 应用

2021-05-06 17:17:41 123

转载 文件系统

文件系统是操作系统中文件的管理者。文件系统将文件保存在存储设备中。基于inode的文件系统01 inode02硬链接:文件名指向inode的关系,多对一。ln file link不同的文件名访问同样的内容 对其中一个文件内容修改时,会影响到其他文件的内容 删除其中一个文件时,其他文件可以正常访问,不受影响 03 符号链接(软连接):文件中保存的是字符串,表示文件路径,系统通过路径找到对应目标文件。ln -s file slink目标文件被删除后,解析符号链..

2021-05-06 16:19:15 61

转载 同步原语

由于并发访问共享资源时,对共享资源的竞争(程序的正确性依赖于特定的执行顺序)导致错误,操作系统提供同步原语供开发者使用。互斥锁01 临界区问题临界区:保证互斥访问的共享资源的代码区域。互斥访问:同一时刻,至多一个线程可以进入临界区。 有限等待:当一个线程申请进入临界区后,必须在有限时间内获得许可并进入临界区,不能无限等待。 空闲让进:当没有线程执行临界区代码时,必须在申请进入临界区的线程中选择一个,允许其执行代码,保证程序执行的进展。02 互斥锁的硬件实现:关闭中断03 互斥锁的软件

2021-05-06 10:25:57 748

转载 进程间通信

多进程协作的优势?1. 将功能模块化,通过进程间通信调用所需功能即可,避免重复。2.

2021-04-28 13:52:02 251

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除