
操作系统
文章平均质量分 96
Maxwell-Wong
A sufficiently advanced technology is indistinguishable from magic
展开
-
【操作系统】磁盘调度算法(FCFS、SSTF、SCAN 和 C-LOOK 调度策略)
实验内容:硬盘调度由于内存通常太小而且不能永久保存所有数据和程序,因此计算机系统必须提供外存来备份内存。现代计算机系统采用磁盘(硬盘)作为信息(程序与数据)的主要在线存储介质。换句话说,硬盘或磁盘为现代计算机系统提供大量外存。磁盘是表面涂有磁性物质的物理盘片,通过磁头(导体线圈)从磁盘存取数据,在读/写期间,磁头固定,磁盘在下面高速旋转。磁盘盘面上的数据存储在一组同心圆中,称为磁道。每个磁道和磁头一样宽,一个盘面上有上千个磁道。磁道又分为几百个扇区,每个扇区固定存储大小,因此越往内的扇区密度越高。磁盘地址由原创 2022-06-15 15:18:31 · 9543 阅读 · 2 评论 -
【操作系统】虚拟存储管理-页面置换算法(FIFO、LRU、CLOCK)
实验内容:虚拟存储管理编写一个C程序模拟实现课件 Lecture24 中的请求页面置换算法,包括FIFO、LRU stack implementation 和 Second chance/CLOCK 置换策略。 在操作系统中,通常使用虚拟内存来对内存进行管理,使计算机能够弥补物理内存短缺,暂时将数据从随机存取存储器(RAM)传输到磁盘存储。将内存块映射到磁盘文件使计算机能够将辅助内存视为主内存。虚拟内存使用硬件和软件进行操作。当应用程序正在使用时,来自该程序的数据将使用RAM存储在物理地址中。内存管理单元原创 2022-06-08 15:21:13 · 5060 阅读 · 0 评论 -
【操作系统-线程池】Pthread 线程池的设计及实现
Lab Week 15 实验报告实验内容:设计实现一个线程池 (Thread Pool)使用 Pthread API 管理线程。利用回调函数作为线程的启动函数。采用 pthread 信号量解决线程池分配的互斥问题。讨论上述方案的技术可行性,尝试写一个设计报告。在一个源代码文件内实现编码、完成编译、运行和用例测试。I.线程池线程池的提出,主要是为了解决:(1)频繁地为某一任务创建和销毁线程所引起的系统资源耗费问题;(2)无限制地为并发请求创建线程且系统对线程数量没有限制而引起的系统资源原创 2022-05-25 15:38:05 · 1283 阅读 · 0 评论 -
【操作系统-同步】银行家算法,多线程原子操作、POSIX互斥锁、信号量解决生产者消费者问题
Lab Week 14实验报告实验内容:进程同步编译运行课件 Lecture 17 示例代码:alg.17-1-bankers-6;编译运行课件Lecture 18 示例代码:alg.18-1 ~ alg.18-5。指出你认为不合适的地方并加以改进。编译运行课件 Lecture 18 示例代码:alg.18-6 ~ alg.18-8,讨论其中的生产者-消费者问题、共享内存保护、进程同步机制并加以改进I.银行家算法(Banker’s Algorithm)银行家算法是操作系统用于避免死锁的原创 2022-05-18 14:24:33 · 1400 阅读 · 0 评论 -
【操作系统】在Linux下用C语言实现BBS聊天系统(实现的功能包括私信、禁言、广播、自定义昵称等)
BBS聊天系统原创 2022-04-27 15:29:02 · 2844 阅读 · 0 评论 -
【操作系统-网络编程】 Socket 通信 Server&Client (全双工Socket,Full Duplex Socket)
实验内容:进程间通信 — 管道和 socket 通信- 编译运行课件 Lecture11 示例代码 alg.11-1, alg.11-2.1, alg.11-2.2,指出你认为不合适的地方并加以改进。原创 2022-04-13 15:47:24 · 4694 阅读 · 0 评论 -
【操作系统】进程间通信 — 消息队列
编译运行课件 Lecture 09 示例代码:alg.9-1 ~ alg.9-2,指出你认为不合适的地方并加以改进。修改代码 alg.9-1 ~ alg.9-2,让 msgsnd 和 msgrcv 在两个终端并发随机执行,用第三个终端观察消息队列的变化情况。你认为会不会出现访问冲突?仿照 alg.9-1 ~ alg.9-2 的程序结构,编制基于 POSIX API 的进程间消息发送和消息接收例程。原创 2022-04-06 15:29:23 · 1480 阅读 · 0 评论 -
【操作系统D&I】(设计与实现)进程间通信 — Linux System Call 共享内存
实验内容:建立一个足够大的共享内存空间结构 (lock, M),逻辑值 lock 用来保证同一时间只有一个进程进入 M;测试在你的系统上 M 的容量上限。设计一个程序,在 M 上建立一个结点信息结构为 (flag, 学号, 姓名) 的列表 L,逻辑值 flag 用作结点的删除标识;在 L 上建立一个以学号为关键字的二元小顶堆,自行设计结点的控制结构 (如静态指针数据域)。设计一个程序对上述堆结构的结点实现插入、删除、修改、查找、排序等操作。该程序的进程可以在同一主机的多个终端并发执行。原创 2022-04-01 19:39:22 · 1147 阅读 · 0 评论 -
【操作系统】Linux 进程间通信(IPC)—共享内存(System V与POSIX API实现,基于生产者消费者问题)
Linux 进程间通信(IPC)—共享内存原创 2022-03-23 14:33:35 · 6455 阅读 · 0 评论 -
【操作系统】x86汇编数学运算和字符串操作 (Basic Math Functions and Using Strings)
Lab Week 04 实验报告实验内容:熟悉 Linux 下 x86 汇编语言编程环境验证实验:Blum’sBook: Sample programs in Chapter08, 10 (Basic Math Functions and Using Strings)Note: This report is written mainly in English while partly in Chinese.文章目录Lab Week 04 实验报告👽PreviewBasic knowled原创 2022-03-09 16:04:35 · 729 阅读 · 0 评论 -
【操作系统】x86汇编实验控制流和数的使用(Controlling Flow and Using Numbers)
中山大学计算机科学与技术操作系统汇编实验 week3原创 2022-03-03 11:06:19 · 1938 阅读 · 0 评论