-
优先级调度算法及其优缺点
所属栏目:[安全] 日期:2020-12-25 热度:135
SJF?算法是通用优先级调度算法的一个特例。每个进程都有一个优先级与其关联,而具有最高优先级的进程会分配到 CPU。具有相同优先级的进程按 FCFS 顺序调度。SJF 算法是一个简单的优先级算法,其优先级(p)为下次(预测的)CPU 执行的倒数。CPU 执行越长,则[详细]
-
互斥锁的原理及作用
所属栏目:[安全] 日期:2020-12-25 热度:151
操作系统设计人员构建软件工具,以解决临界区问题,最简单的工具就是 互斥锁(mutex lock) 。我们采用互斥锁保护临界区,从而防止竞争条件。 也就是说,一个进程在进入临界区时应得到锁;它在退出临界区时释放锁。函数 acquire() 获取锁,而函数 release()[详细]
-
时间片轮转(RR)调度算法(详解版)
所属栏目:[安全] 日期:2020-12-25 热度:113
时间片轮转(RR)调度算法 是专门为分时系统设计的。它类似于 FCFS调度,但是增加了抢占以切换进程。 该算法中,将一个较小时间单元定义为 时间量 或 时间片 。时间片的大小通常为 10~100ms。就绪队列作为循环队列。CPU 调度程序循环整个就绪队列,为每个进[详细]
-
Peterson算法(解决临界区问题)详解
所属栏目:[安全] 日期:2020-12-25 热度:56
本节说明一个经典的基于软件的临界区问题的解决方案,称为 Peterson 算法 。 Peterson 算法提供了解决临界区问题的一个很好的算法,并能说明满足互斥、进步、有限等待等要求的软件设计的复杂性。 Peterson算法适用于两个进程交错执行临界区与剩余区。两个进程[详细]
-
最短作业优先(SJF)调度算法(详解版)
所属栏目:[安全] 日期:2020-12-25 热度:170
最短作业优先(SJF)调度算法 将每个进程与其下次 CPU 执行的长度关联起来。当 CPU 变为空闲时,它会被赋给具有最短 CPU 执行的进程。如果两个进程具有同样长度的 CPU 执行,那么可以由 FCFS 来处理。 一个更为恰当的表示是 最短下次CPU执行算法 ,这是因为[详细]
-
什么是进程控制块,进程控制块的作用
所属栏目:[安全] 日期:2020-12-24 热度:91
操作系统内的每个进程表示,釆用 进程控制块 (Process Control Block, PCB ),也称为 任务控制块 。 图 1 进程控制块(PCB) 每个进程控制块如图 1 所示,它包含许多与当前进程相关的信息: 进程状态:状态可以包括新的、就绪、运行、等待、停止等。 程序[详细]
-
线程池是什么,线程池及其原理
所属栏目:[安全] 日期:2020-12-24 热度:160
学习线程时,我们描述了一个多线程的 Web 服务器,每当服务器接收到一个请求时,它都会创建一个单独线程来处理请求。虽然创建一个单独线程肯定优于创建一个单独进程,但是多线程服务器仍然有些潜在的问题。 第一个问题是创建线程所需的时间多少,以及线程在完[详细]
-
进程间通信(IPC):共享内存和消息队列原理详解
所属栏目:[安全] 日期:2020-12-24 热度:124
操作系统内的并发执行进程可以是独立的也可以是协作的: 如果一个进程不能影响其他进程或受其他进程影响,那么该进程是独立的,换句话说,不与任何其他进程共享数据的进程是独立的; 如果一个进程能影响其他进程或受其他进程所影响,那么该进程是协作的。换句[详细]
-
线程是什么,线程及其特点
所属栏目:[安全] 日期:2020-12-24 热度:76
几乎所有现代操作系统都允许一个进程包含多个线程。 每个线程是 CPU 使用的一个基本单元,它包括线程 ID、程序计数器、寄存器组和堆栈。 进程与同一进程的其他线程共享代码段、数据段和其他操作系统资源,如打开文件和信号。每个传统或重量级进程只有单个控制[详细]
-
操作系统的设计和实现过程
所属栏目:[安全] 日期:2020-12-24 热度:112
本节讨论操作系统设计和实现面临的问题。虽然这些问题没有完整的解决方案,但是有些方法还是行之有效的。 设计目标 系统设计的首要问题是,定义目标和规范。从高层来说,系统设计取决于所选硬件和系统类型:批处理、分时、单用户、多用户、分布式、实时或通用[详细]
-
什么是远程过程调用(RCP),远程过程调用服务实现原理详解
所属栏目:[安全] 日期:2020-12-24 热度:52
远程过程调用 ,简称? RPC ,是一种最为常见的远程服务。RPC 对于通过网络连接系统之间的过程调用进行了抽象。它在许多方面都类似于 IPC 机制,并且通常建立在 IPC 之上。不过,因为现在的情况是进程处在不同系统上,所以应提供基于消息的通信方案,以提供远[详细]
-
操作系统的体系结构(单处理器、多处理器和集群)
所属栏目:[安全] 日期:2020-12-24 热度:123
前面章节中,我们从操作系统的运行过程、存储结构以及IO结构介绍了典型计算机系统的通用结构。计算机系统可能通过许多不同途径来组成,这里根据采用的通用处理器数量来进行粗略分类。 单处理器系统 直到最近,大多数系统仍采用单处理器。单处理器系统只有一[详细]
-
进程状态及其转换过程
所属栏目:[安全] 日期:2020-12-24 热度:157
进程在执行时会改变状态。 进程状态,部分取决于进程的当前活动。 图 1 显示的是进程活动的状态图。 图 1 进程状态图 从图中可以看出,每个进程可能处于以下几种不同的状态: 新的 :进程正在创建。 运行 :指令正在执行。 等待 :进程等待发生某个事件(如[详细]
-
什么是线程库,线程库类别及其应用
所属栏目:[安全] 日期:2020-12-24 热度:114
线程库 为程序员提供创建和管理线程的 API。 实现线程库的主要方法有两种: 在用户空间中提供一个没有内核支持的库。这种库的所有代码和数据结构都位于用户空间。这意味着,调用库内的一个函数只是导致了用户空间内的一个本地函数的调用,而不是系统调用。[详细]
-
什么是进程调度,进程调度的来龙去脉
所属栏目:[安全] 日期:2020-12-24 热度:110
多道程序设计的目标是,无论何时都有进程运行,从而最大化 CPU 利用率。分时系统的目的是在进程之间快速切换 CPU,以便用户在程序运行时能与其交互。 为了满足这些目标, 进程调度器 选择一个可用进程(可能从多个可用进程集合中)到 CPU上执行。如果有多个进[详细]
-
系统调用的类型(六大类)
所属栏目:[安全] 日期:2020-12-24 热度:154
系统调用大致可分为六大类: 进程控制(process control) 、 文件管理(file manipulation) 、 设备管理(device manipulation) 、 信息维护(information maintenance) 、 通信(communication) 和 保护(protection)。 进程控制 执行程序应能正常(en[详细]
-
管道(无名管道)通信机制原理和实现详解
所属栏目:[安全] 日期:2020-12-24 热度:120
管道(pipe) 允许两个进程进行通信,是早期 UNIX 系统最早使用的一种 IPC 机制。管道为进程之间的相互通信提供了一种较为简单的方法,尽管也有一定的局限性。 在实现管道时,应该考虑以下四个问题: 管道允许单向通信还是双向通信? 如果允许双向通信,它是[详细]
-
命令行界面和图形用户界面(GUI)
所属栏目:[安全] 日期:2020-12-24 热度:79
正如前面所述,用户与操作系统的界面有多种方式。这里,讨论两种基本方案: 提供 命令行界面 或 命令解释程序(command interpreter) ,允许用户直接输入命令,以供操作系统执行。 允许用户通过 图形用户界面(GUI) 与操作系统交互。 命令解释程序 有的操作[详细]
-
什么是多核,并行和并发的区别
所属栏目:[安全] 日期:2020-12-24 热度:155
在计算机设计早期,为了响应更多计算性能的需要,单处理器系统发展成为多处理器系统。更现代的、类似的系统设计趋势是将多个计算核放到单个芯片。无论多个计算核是在多个CPU芯片上还是在单个 CPU 芯片上,我们称之为 多核 或 多处理器系统 。 多线程编程提供[详细]
-
套接字是什么,套接字通信及其原理
所属栏目:[安全] 日期:2020-12-24 热度:178
套接字(socket) 为通信的端点,每个套接字由一个 IP 地址和一个端口号组成。 通过网络通信的每对进程需要使用一对套接字,即每个进程各有一个。 通常,套接字采用客户机-服务器架构。服务器通过监听指定端口,来等待客户请求。服务器在收到请求后,接受来[详细]
-
阿里云ECS(经典网络)如何实现内网互联?开放新机器访问旧的red
所属栏目:[安全] 日期:2020-12-24 热度:134
《阿里云ECS(经典网络)如何实现内网互联?开放新机器访问旧的redis和mysql?》要点: 本文介绍了阿里云ECS(经典网络)如何实现内网互联?开放新机器访问旧的redis和mysql?,希望对您有用。如果有疑问,可以联系我们。 今天任务是把2台阿里云ECS服务器([详细]
-
操作系统的计算环境应用
所属栏目:[安全] 日期:2020-12-24 热度:81
本节,我们讨论操作系统如何用于各种计算环境。 传统计算 随着计算不断成熟, 传统计算 的许多划分已变得模糊了。看一看“典型办公环境”。几年前,这种环境包括一组联网的 PC,其中服务器提供文件和打印的服务;远程访问很不方便,可移动性是通过釆用笔记本[详细]
-
多道程序设计和分时系统
所属栏目:[安全] 日期:2020-12-24 热度:104
我们已讨论了计算机系统的基本组成和体系结构,现在讨论操作系统。操作系统为执行程序而提供环境。操作系统可以通过许多不同方式来构建,因此内部组织差异很大。不过,它们也有许多共同点,这里将会加以讨论。 多道程序设计(multiprogramming) 操作系统最重[详细]
-
操作系统的功能和作用
所属栏目:[安全] 日期:2020-12-24 热度:88
操作系统提供环境以便执行程序。它为程序及程序用户提供某些服务。当然,提供的具体服务随操作系统不同而不同,但还是有些是共同的。这些操作系统服务方便了程序员,使得编程更加容易。图 1 显示操作系统服务及其相互关系。 图 1 操作系统服务的视图 操作系统[详细]
-
开源操作系统的类别及其特点
所属栏目:[安全] 日期:2020-12-24 热度:186
我们说过,由于有大量的开源操作系统,操作系统的学习容易得多。 开源操作系统(open-source operating system) 具有源码,而非只有编译过的二进制码。Linux 是最为著名的开源操作系统,而 Microsoft Windows 则是一个著名的、闭源(closed source)的系统。[详细]
