- 博客(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
转载 计网-网络层
在网络中的每一台主机和路由器都有网络层。网络层分组叫做数据报。数据平面:从输入链路向输出链路转发(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
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人