Loading

摘要: Python-可变不可变类型 如何验证某个变量是可变类型还是不变类型,代码示例如下 x = 10 print(id(x)) x = 11 print(id(x)) # 如果id相同,则为可变类型,否则为不可变类型 可变类型 可变类型指的是值改变的情况下,id不变,证明改的是原值,原值是可以改变的。 阅读全文
posted @ 2023-01-20 13:29 nliuc 阅读(21) 评论(0) 推荐(0)
摘要: 信号量机制 引例 进程互斥的四种软件实现方法: 单标志法双标志先检查法 进入区“检查”,上锁指令无法一气呵成,从而导致了所有进程都有可能进入临界区的问题 双标志后检查法Peterson算法 进程互斥的三种硬件实现方法: 中断屏蔽方法TS/TSL指令Swap/XCHG指令 所有的解决方法都无法实现“让 阅读全文
posted @ 2023-01-20 11:26 nliuc 阅读(183) 评论(0) 推荐(0)
摘要: 互斥的软件实现方法 单标志法 算法思想 两个进程在访问完临界区后会把使用临界区的权限转交给另一个进程,也就是说每个进程进入临界区的权限只能被另一个进程赋予。 代码示例 int turn =0; //turn 表示当前允许进入临界区的进程号 P0代码 P0进程: while(turn != 0); ① 阅读全文
posted @ 2023-01-20 11:20 nliuc 阅读(171) 评论(0) 推荐(0)
摘要: 进程同步与互斥 什么是进程同步 同步又称直接制约关系,它是指为了完成某种任务而创建的两个或多个进程,这些进程因为需要在某些位置上协调他们的工作次序而产生制约关系。进程间的直接制约关系就是源于他们的相互合作。 什么是进程互斥 互斥共享方式:系统中的某些资源,虽然可以提供给多个进程使用。但是一个时间段内 阅读全文
posted @ 2023-01-20 11:17 nliuc 阅读(154) 评论(0) 推荐(0)
摘要: 优先级调度算法 算法思想 随着计算机的发展,特别是[[001-1-3-发展#实时操作系统 |实时操作系统]]的出现,越来越多的应用场景需要根据任务的紧急程度来决定处理顺序 算法规则 每个作业/进程有各自的优先级,调度时选择优先级最高的作业/进程就绪队列未必只有一个,可以按照不同的优先级来组织可以把优 阅读全文
posted @ 2023-01-20 11:13 nliuc 阅读(595) 评论(0) 推荐(0)
摘要: 高响应比优先 算法思想 要综合考虑作业/进程的等待时间和要求服务时间 算法规则 在每次调度的时候要先计算各个作业/进程的相应比,选择相应比最高的作业/进程为其服务相应比=等待时间+要求服务时间/要求服务时间 用途和模式 既可用于作业调度,也可用于进程调度 是否可抢占 非抢占式的算法。因此只有当前运行 阅读全文
posted @ 2023-01-20 11:10 nliuc 阅读(439) 评论(0) 推荐(1)
摘要: 短作业优先 (SJF Shortest job First) 算法思想 追求最少的平均等待时间,最少的平均周转时间,最少的平均平均带权周转时间 算法规则 1.最短的作业/进程优先得到服务(所谓"最短",是指要求服务时间最短) 用途和模式 即用于作业调度,也可以用于进程调度用于进程调度时候,称为"短进 阅读全文
posted @ 2023-01-20 00:04 nliuc 阅读(1087) 评论(0) 推荐(0)