计算机操作系统
文章平均质量分 82
据《计算机操作系统》(慕课版)教师授课及王道考研资料整理的要点汇总
水花花花花花
sxu大二在读
展开
-
【操作系统】读者—写者问题python解析
一个数据问价或记录可以被多个进程共享,我们把只读该文件的进程称为“读者进程”,其他进程为“写者进程”。允许多个进程同时读一个共享对象,但不允许一个写者进程和其他写者进程或读者进程同时访问共享对象。即:保证一个写者进程必须与其他进程互斥的访问共享对象的同步问题;读者-写者问题常用来测试新同步原语。原创 2024-05-06 21:00:28 · 511 阅读 · 10 评论 -
计算机操作系统第四章 进程同步
1、信号量-软件解决方案:保证两个或多个代码段不被并发调用在进入关键代码段前,进程必须获取一个信号量,否则不能运行执行完该关键代码段,必须释放信号量信号量有值,为正说明它空闲,为负说明其忙碌2、整型信号量提供两个不可分割的原子操作访问信号量wait(S):while s原创 2024-05-03 21:24:51 · 902 阅读 · 7 评论 -
【操作系统】进程互斥(自习室预约问题)使用Python多进程multiprocessing实现
reserve_seat(student_id): 学生预约座位的函数,采用互斥锁来确保进程安全。如果成功预约到座位,则跳出循环;使用循环创建10个学生进程,每个学生进程调用`student_process`函数,并传入学生ID作为参数。通过互斥锁确保座位状态的互斥访问,以及多个学生之间在预约座位时的竞争和等待过程,解决如何使用多进程处理并发场景下的资源共享问题。在所有学生进程执行完毕后,打印"所有学生已经预约座位"的信息。seats: 用于记录每个座位的状态,0表示座位空闲,1表示座位被占用。原创 2024-04-24 21:21:56 · 487 阅读 · 6 评论 -
【操作系统】进程同步(水果盘问题)使用Python多线程threading实现
桌子有一只盘子,只允许放一个水果,父亲专向盘子放苹果,母亲专向盘子放桔子 儿子专等吃盘子的桔子,女儿专等吃盘子的苹果。只要盘子为空,父亲或母亲就可以向盘子放水果, 仅当盘子有自己需要的水果时,儿子和女儿可从盘子取出。在女儿和儿子的函数中,分别通过`apple.acquire()`和`orange.acquire()`来获取苹果或桔子的信号量,表示可以吃水果了,然后输出相应的动作(吃苹果或桔子),最后通过`empty_plate.release()`释放空盘子的信号量,表示吃完了。原创 2024-04-24 21:03:36 · 402 阅读 · 2 评论 -
计算机操作系统第二章 进程的描述与控制
1、进程的引入为了使多道程序能够并发执行,且为了能对并发执行程序加以描述和控制以提高资源利用率和系统效率。2、进程的定义进程是具有独立功能的程序关于某个数据集合在计算机系统中的一次执行过程。系统进行资源分配和调度的、一个可并发执行的独立单位。进程是程序的一个实例,是程序的一次执行进程和程序的比较程序是静态的,在外存中,进程是动态的,在内存中程序可长期保存;而进程是有生命周期的。程序是指令的有序集合;而进程则是由程序、数据和进程控制块三部分组成。原创 2024-04-06 18:23:25 · 1828 阅读 · 11 评论 -
操作系统第三章 处理机调度与死锁课后习题
实时系统的调度算法主要是基于任务开始/截止时间的EDF(earliest deadlinfirst,最早截止时间优先)调度算法,以及基于任务紧急/松弛程度的LLF(1east laxity first,最低松弛度优先)调度算法。(1)EDF调度算法。该算法是根据任务的开始/截止时间确定任务的优先级的,截止时间越早则优先级越高。算法要求在系统中保持一个实时任务就绪队列,该队列按各任务截止时间的先后顺序进行排序。(2)LLF调度算法。该算法是根据任务的紧急/松弛程度确定任务的优先级的。原创 2024-04-15 22:09:20 · 754 阅读 · 2 评论 -
操作系统第二章 进程的描述与控制课后习题
①进程是一段可并发执行的具有独立功能的程序,是关于某个数据集的一次执行过程,也是OS进行资源分配和保护的基本单位。②在OS中引人进程,是为了实现多个程序的并发执行。传统的程序与其他程序并发执行时,执行结果不可再现,因此,传统的程序不能与其他程序并发执行,只有在为之创建进程后,其才能与其他程序(进程)并发执行。原创 2024-04-15 21:35:03 · 810 阅读 · 0 评论 -
【操作系统】python实现银行家算法
是最具有代表性的避免死锁的算法。原创 2024-04-08 22:32:46 · 1302 阅读 · 6 评论 -
计算机操作系统第一章 操作系统引论
操作系统(Operating System, OS)是配置在硬件上的第一层软件,是对硬件系统的首次扩充,其主要作用是管理硬件设备,提高它们的利用率和系统吞吐量,并为用户和程序提供一个简单的接口,便于用户和应用程序使用硬件设备。OS是现代计算机系统中最基本和最重要的系统软件,已成为各系统都必须配置的系统软件。原创 2024-03-05 22:40:01 · 956 阅读 · 1 评论 -
【操作系统】FCFS、SJF、HRRN、RR、EDF、LLF调度算法及python实现代码
周转时间 = 作业完成时刻 - 作业到达时刻等待时间 = 周转时间 -= 周转时间 / 服务时间平均周转时间 = 作业周转时间之和 / 作业个数平均带权周转时间 = 带权周转时间之和 / 作业个数服务时间:作业的运行时间。原创 2024-04-01 23:46:46 · 1045 阅读 · 9 评论