自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 《操作系统导论》第四部分 持久性 P5 文件系统的实现

文章目录C5 文件系统的实现5.1 关于文件系统的两个问题5.2 VSFS的整体组织(1) 将磁盘分成块(2) 用户数据的存放:数据区域(3) 记录每个文件的详细信息:inode表(4) 空闲空间的记录:位图(5) 文件系统信息的存储:超级块5.3 文件组织:inode(index node 索引节点)(1) inode结构寻址(2) inode结构中的内容(3) 多级索引5.4 目录组织5.5 空闲空间管理5.6 访问路径:读取和写入(1) 从磁盘读取文件(2) 写入磁盘5.7 缓存和缓冲(1) 减少读的

2020-12-28 19:06:58 328

原创 《操作系统导论》第四部分 持久性 P4 文件和目录

文章目录C4 文件和目录4.1C4 文件和目录4.1

2020-12-27 17:18:51 460

原创 《操作系统导论》第四部分 持久性 P3 廉价冗余磁盘阵列(RAID)

文章目录C3 廉价冗余磁盘阵列 RAID3.13.23.33.43.53.63.73.83.93.10C3 廉价冗余磁盘阵列 RAID3.13.23.33.43.53.63.73.83.93.10

2020-12-24 18:55:20 526

原创 《操作系统导论》第四部分 持久性 P2 磁盘驱动器

文章目录C2 磁盘驱动器2.1 接口2.2 基本几何形状2.3 简单的磁盘驱动器(1) 单磁道延迟:旋转延迟(2) 多磁道:寻道时间(3) 一些其它细节2.4 I/O时间2.5 磁盘调度(1) SSTF:最短寻道时间优先(2) SCAN:跨越磁道顺序(3) SPTF:最短定位时间优先C2 磁盘驱动器磁盘驱动器(Hard Disk Driver)又称“磁盘机”,是以磁盘作为记录信息媒体的存储装置磁盘驱动器既能将存储在磁盘上的信息读进内存中,又能将内存中的信息写到磁盘上,因此,就认为它既是输入设备,

2020-12-22 16:39:26 895

原创 《操作系统导论》第四部分 持久性 P1 I/O设备

文章目录C1 I/O设备1.1 系统架构1.2 标准设备1.3 标准协议1.4 利用中断减少CPU开销1.5利用DMA进行更高效的数据传送1.6 设备交互的方法1.7 纳入操作系统:设备驱动程序1.8 简单的IDE磁盘驱动程序C1 I/O设备在了解持久性部分的主要内容前,先介绍I/O设备的概念,并展示操作系统如何与它们交互,当然I/O对计算机系统非常重要,设想一个程序没有任何输入(每次运行都产生相同的结果),或者一个程序没有任何输出(得不到想要的结果),对于计算机系统来说,输入和输出都是必要的1

2020-12-21 21:25:54 801

原创 《操作系统导论》第三部分 并发 P5 常见的并发问题

文章目录C7 常见的并发问题7.1 有哪些类型的缺陷7.2 非死锁缺陷(1) 违反原子性缺陷(2) 违反顺序缺陷(3) 非死锁缺陷的小结7.3 死锁缺陷(1) 为什么发生死锁(2) 产生死锁的条件(3) 预防死锁(4) 通过调度避免死锁(5) 检查和恢复C7 常见的并发问题7.1 有哪些类型的缺陷并发缺陷有很多常见的模式,了解这些模式是写出健壮,正确程序的第一步在4个重要的开源应用中,研究人员检查了这几个应用已经修复的并发缺陷,主要分为两类,非死锁缺陷和死锁缺陷共有105个缺陷,其中大多数

2020-12-21 18:18:33 354

原创 JAVA SE 实战篇 C7 基于CSFramework的聊天室 (下) 客户端APP

文章目录

2020-12-19 17:48:35 708

原创 JAVA SE 实战篇 C6 基于CSFramework的聊天室 (上) 服务器APP

文章目录

2020-12-19 17:48:22 286

原创 《操作系统导论》第三部分 并发 P4 条件变量,信号量

文章目录C5 条件变量5.1 定义和程序5.2 生产者/消费者(有界缓冲区)问题5.3 覆盖条件5.4 小结C5 条件变量通过硬件和操作系统的正确组合来实现锁,但是锁并不是并发程序设计所需的唯一原语在很多情况下,线程需要检查某一条件满足之后,才会继续运行,如父线程需要检查子线程是否执行完毕,才能继续运行父线程volatile int done = 0;void *child(void *arg) { printf("child\n"); done = 1; return NULL;

2020-12-14 20:49:16 571

原创 《操作系统导论》第三部分 并发 P3 基于锁的并发数据结构

文章目录C4 基于锁的并发数据结构4.1 并发计数器(1) 简单不可扩展的计数器(2) 可扩展的计数器4.2 并发链表(1) 基本的并发链表(2) 扩展链表4.3 并发队列4.4 并发散列表4.5 小结C4 基于锁的并发数据结构如何对数据结构加锁,保证其高性能,让许多线程同时访问该结构,完成并发访问4.1 并发计数器计数器是最简单的数据结构,使用广泛且接口简答,以下是一个非并发的计数器:typedef struct counter_t { int value;}counter_t;v

2020-12-10 16:54:52 556 1

原创 《操作系统导论》第三部分 并发 P2 锁

文章目录C3 锁3.1 锁的基本思想(1) 线程获得锁和开锁的作用(2) 锁的意义(3) 用更多的锁增加并发3.2 评价一个锁的几个标准3.3 控制中断3.4 测试并设置指令/原子交换C3 锁对于并发编程的一个最基本的问题:程序员希望原子式执行一系列指令,但由于单处理器上的中断(或多线程在多处理器上并发执行),这变得不可实现,为了解决这个问题,在源代码中加锁,放在临界区周围,保证临界区能像单挑原子指令一样执行3.1 锁的基本思想lock_t mutex;lock(&mutex);

2020-12-10 14:53:57 749

原创 JAVA SE 实战篇 C5 简单CSFramework(下) API层的搭建

文章目录P1 服务器API层1 服务器 Server2 留给APP层待处理的方法(1) IServerAction(2) ServerActionAdapterP2 客户端API层1 客户端 Client2 留给APP层待处理的方法(1) IClientAction(2) ClientActionAdapterP1 服务器API层1 服务器 Serverpackage com.mec.csframework.core;import java.io.IOException;import ja

2020-12-08 18:55:46 474

原创 JAVA SE 实战篇 C4 简单CSFramework(中) 会话层的搭建

文章目录P1 服务器会话层1 会话池SCP2 服务器会话层 SC3 广播与侦听 S/LP2 客户端会话层1 客户端会话层 CCP1 服务器会话层1 会话池SCPpackage com.mec.csframework.core;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;public class ServerConversationPool

2020-12-08 18:55:24 114

原创 JAVA SE 实战篇 C3 简单CSFramework(上) CS框架原理及通信层的搭建

文章目录P1 CSFramework简介1 CSFramework功能概述2 CSFramework的分层3 CSFramework的工作原理(1) 客户端如何连接到服务器(2) 多个客户端连接到服务器(3) 一条私聊消息如何发送出去P2 网络中消息的存在形式1 信息 = “信令” + “来源” + “目标” + “消息”2 信令 ENetCommand枚举3 有效的网络信息 NetMessage类P3 通信层的构建1 需要通信层的原因2 通信层的实现(1) 通信层接口 INetConfig(2) Comm

2020-12-08 18:54:49 686

原创 JAVA SE 实战篇 C2 网络编程基础

文章目录

2020-12-04 18:41:46 637

原创 《操作系统导论》第三部分 并发 P1 并发简介,线程API

文章目录C1 并发1.1 创建线程1.2 共享数据1.3 不可控的调度1.4 原子性问题1.5 小结C2 线程API2.1 创建线程2.2 完成线程2.3 锁2.4 条件变量2.5 小结C1 并发我们将为单个运行的进程提供新的抽象:线程经典观点是一个程序只有一个执行点(一个程序计数器,用来存放要执行的指令),但多线程程序会有多个执行点(多个程序计数器,每个都用于取指令和执行),每个线程类似于独立的进程,但它们共享地址空间,从而能访问相同的数据单个线程的状态与进程十分相似,但如果有多个线程,从一

2020-12-03 18:58:07 199

原创 《操作系统导论》第二部分 内存虚拟化 P7 将页在内存和磁盘间交换

文章目录C9 超越物理内存:机制9.1 交换空间9.2 存在位9.3 页错误9.4 内存满了怎么办9.5 页错误处理流程9.6 交换何时真正发生9.7 小结C10 超越物理内存:策略10.1 平均内存访问时间 AMAT10.2 最优替换策略10.3 简单策略 FIFO,随机(1) FIFO 先入先出(2) 随机替换10.4 利用历史数据 LRU(Least-Recently-Used)(1) LRU的原理(2) LRU的实现10.5 近似LRU -- 时钟算法10.6 考虑脏页10.7 抖动10.8 小结

2020-12-01 19:18:18 625

空空如也

空空如也

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

TA关注的人

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