摘要:
调度算法 饥饿:某进程/作业长期等不到服务 先来先服务 短作业优先 非抢占式 抢占式 对FCFS和SJF两种算法的思考 高响应比优先 FCFS算法是在每次调度的时候选择一个等待时间最长的作业(进程)为其服务。但没有考虑到作业的运行时间,因此导致了对短作业不友好的问题。 SJF算法是选择一个执行时间最 阅读全文
摘要:
调度算法的评价指标 CPU利用率 由于早期的CPU造价及其昂贵,因此人们会希望让CPU尽可能多地工作 CPU利用率:指CPU“忙碌”的时间占总时间的比例。 利用率=忙碌的时间/总时间 系统吞吐量 对于计算机来说,希望能用尽可能少的时间处理完尽可能多的时间 系统吞吐量:单位时间内完成作业的数量 系统吞 阅读全文
摘要:
进程调度的时机 切换与过程调度方式 进程调度的时机 进程调度(低级调度),就是按照某种算法从就绪队列中选择一个进程为其分配处理机。 进程在操作系统内核程序临界区中不能进行调度与切换 临界资源:一个时间段内只允许一个进程使用的资源。各进程需要互斥地访问临界资源。 临界区:访问临界资源的那段代码 内核程 阅读全文
摘要:
处理机调度 概念和层次 调度的基本概念 当有一堆任务要处理,但由于资源有限,这些事情没法同时处理。这就需要确定某种规则来决定处理这些任务的顺序,这就是“调度”研究的问题。 在多道程序系统中,进程的数量往往是多于处理机的个数的,这样不可能同时并行地处理各个进程。 调度的三个层次——高级调度 由于内存空 阅读全文
摘要:
线程概念 多线程模型 什么是线程,为什么要引入线程? 还没引入进程之间,系统中各个程序只能串行执行。 进程是程序性的一次执行,但是这写功能显然不可能是由一个程序顺序处理就能实现的。 有的进程可能需要“同时”做很多事,而传统的进程只能串行地执行一系列程序。为此,引入了“线程”,来增加并发度。 传统的进 阅读全文
摘要:
进程通信 知识总览 什么 进程通信? 顾名思义,进程通信就是指进程之间的信息交换。 进程是分配系统资源的单位(包括内存地址空间),因此各进程拥有的内存地址空间相互独立。 为了保证安全,一个进程不能直接访问另一个进程的地址空间。 但是进程之间的信息交换又是必须实现的。为了保证进程间的安全通信,操作系统 阅读全文
摘要:
进程的状态与转换 进程的状态 进程的状态——三种基本状态 进程是程序的一次执行,在这个执行过程中,有时进程正在被CPU处理,有时又需要等待CPU服务,可见,进程的状态是会有各种变化。为了方便对各个进程的管理,操作系统需要将进程合理地划分为几种状态。 进程的状态——另外两种状态 进程状态的转换 阅读全文
摘要:
进程的定义 进程的定义 程序:就是一个指令序列 早期的计算机(只支持单道程序) 程序的代码放在程序段内,程序运行过程处理的数据放在数据段内。 引入多道程序技术之后: 为了方便操作系统管理,完成各程序并发执行,引入进程、进程实体的概念。 系统为每个运行的程序配置一个数据结构,称为进程控制块(PCB), 阅读全文
摘要:
系统调用 只是总览 什么 系统调用,有何作用? “系统调用是操作系统提供给应用程序(程序员/编程人员)使用的接口,可以理解为一种可供应用程序调用的特殊函数,应用程序可以发出系统调用请求来获得操作系统的服务。 应用程序通过系统调用请求操作系统的服务。系统中的各种共享资源都由操作系统统一掌管,因此在用户 阅读全文
摘要:
面试题 Java容器 1. 说一下 HashSet 的实现原理? HashSet 是基于 HashMap 实现的,HashSet 底层使用 HashMap 来保存所有元素,因此 HashSet 的实现比较简单,相关 HashSet 的操作,基本上都是直接调用底层 HashMap 的相关方法来完成,H 阅读全文