-
先来先服务调度(FCFS)算法及优缺点
所属栏目:[安全] 日期:2020-12-24 热度:136
毫无疑问,最简单的 CPU 调度算法是先来先服务(FCFS)调度箅法。釆用这种方案,先请求 CPU 的进程首先分配到 CPU。 FCFS 策略可以通过 FIFO 队列容易地实现。当一个进程进入就绪队列时,它的 PCB 会被链接到队列尾部。当 CPU 空闲时,它会分配给位于队列[详细]
-
Windows线程调度策略(超详细)
所属栏目:[安全] 日期:2020-12-24 热度:50
Windows 采用基于优先级的、抢占调度算法来调度线程。 用于处理调度的 Windows 内核部分称为调度程序,Windows 调度程序确保具有最高优先级的线程总是在运行的。由于调度程序选择运行的线程会一直运行,直到被更高优先级的线程所抢占,或终止,或时间片已[详细]
-
什么是进程控制块,进程控制块的作用
所属栏目:[安全] 日期:2020-12-24 热度:146
操作系统内的每个进程表示,釆用进程控制块(Process Control Block,PCB),也称为任务控制块。 图 1 进程控制块(PCB) 每个进程控制块如图 1 所示,它包含许多与当前进程相关的信息: 进程状态:状态可以包括新的、就绪、运行、等待、停止等。 程序计数[详细]
-
线程池是什么,线程池及其原理
所属栏目:[安全] 日期:2020-12-24 热度:166
学习线程时,我们描述了一个多线程的 Web 服务器,每当服务器接收到一个请求时,它都会创建一个单独线程来处理请求。虽然创建一个单独线程肯定优于创建一个单独进程,但是多线程服务器仍然有些潜在的问题。 第一个问题是创建线程所需的时间多少,以及线程[详细]
-
进程间通信(IPC):共享内存和消息队列原理详解
所属栏目:[安全] 日期:2020-12-24 热度:76
操作系统内的并发执行进程可以是独立的也可以是协作的: 如果一个进程不能影响其他进程或受其他进程影响,那么该进程是独立的,换句话说,不与任何其他进程共享数据的进程是独立的; 如果一个进程能影响其他进程或受其他进程所影响,那么该进程是协作的。[详细]
-
线程是什么,线程及其特点
所属栏目:[安全] 日期:2020-12-24 热度:121
几乎所有现代操作系统都允许一个进程包含多个线程。每个线程是 CPU 使用的一个基本单元,它包括线程 ID、程序计数器、寄存器组和堆栈。 进程与同一进程的其他线程共享代码段、数据段和其他操作系统资源,如打开文件和信号。每个传统或重量级进程只有单个控[详细]
-
操作系统的设计和实现过程
所属栏目:[安全] 日期:2020-12-24 热度:60
本节讨论操作系统设计和实现面临的问题。虽然这些问题没有完整的解决方案,但是有些方法还是行之有效的。 设计目标 系统设计的首要问题是,定义目标和规范。从高层来说,系统设计取决于所选硬件和系统类型:批处理、分时、单用户、多用户、分布式、实时或[详细]
-
什么是远程过程调用(RCP),远程过程调用服务实现原理详解
所属栏目:[安全] 日期:2020-12-24 热度:54
远程过程调用,简称?RPC,是一种最为常见的远程服务。RPC 对于通过网络连接系统之间的过程调用进行了抽象。它在许多方面都类似于 IPC 机制,并且通常建立在 IPC 之上。不过,因为现在的情况是进程处在不同系统上,所以应提供基于消息的通信方案,以提供远[详细]
-
什么是系统调用,系统调用的过程
所属栏目:[安全] 日期:2020-12-24 热度:66
系统调用(system call)提供操作系统服务接口。这些调用通常以 C 或 C++ 编写,当然,对某些底层任务(如需直接访问硬件的任务),可能应以汇编语言指令编写。 在讨论操作系统如何提供系统调用之前,首先通过例子来看看如何使用系统调用:编写一个简单程[详细]
-
有名管道(FIFO)通信机制完全攻略
所属栏目:[安全] 日期:2020-12-24 热度:116
无名管道提供了一个简单机制,允许一对进程通信。然而,只有当进程相互通信时,普通管道才存在。对于 UNIX 和 Windows 系统,一旦进程已经完成通信并且终止了,那么普通管道就不存在了。 有名管道提供了一个更强大的通信工具。通信可以是双向的,并且父子[详细]
-
进程的创建和终止(超详细)
所属栏目:[安全] 日期:2020-12-24 热度:171
大多数系统的进程能够并发执行,它们可以动态创建和删除。因此,操作系统必须提供机制,用于创建进程和终止进程。 进程创建 进程在执行过程中可能创建多个新的进程。创建进程称为父进程,而新的进程称为子进程。每个新进程可以再创建其他进程,从而形成进[详细]
-
系统程序及其分类
所属栏目:[安全] 日期:2020-12-24 热度:57
现代操作系统的另一特点是一组系统程序。前面说过,图1 描述了计算机的逻辑层次。最低层是硬件,接着是操作系统,然后是系统程序,最后是应用程序。 图 1 计算机系统组件的抽象视图 系统程序(system program),也称为系统工具(system utility),为程序[详细]
-
开源操作系统的类别及其特点
所属栏目:[安全] 日期:2020-12-24 热度:156
我们说过,由于有大量的开源操作系统,操作系统的学习容易得多。 开源操作系统(open-source operating system)具有源码,而非只有编译过的二进制码。Linux 是最为著名的开源操作系统,而 Microsoft Windows 则是一个著名的、闭源(closed source)的系统[详细]
-
什么是操作系统
所属栏目:[安全] 日期:2020-12-24 热度:114
我们首先讨论操作系统在整个计算机系统中的作用。计算机系统可以粗分为四个组件:硬件、操作系统、应用程序和用户(图 1)。 图 1 计算机系统组件的抽象视图 硬件(hardware),如中央处理单元(Central Processing Unit,CPU)、内存(memory)、输入/输[详细]
-
操作系统组织数据的方法(详解版)
所属栏目:[安全] 日期:2020-12-24 热度:119
下面讨论操作系统实现的一个核心问题:系统如何组织数据。本节简要讨论多个基本数据结构,它们在操作系统中用得很多。 列表、堆栈及队列 数组是个简单的数据结构,它的元素可被直接访问。例如,内存就是一个数组。如果所存的数据项大于一字节,那么可用多[详细]
-
进程是什么,进程和程序的区别
所属栏目:[安全] 日期:2020-12-24 热度:183
在未被 CPU 执行之前,程序做不了任何事。如前所述,执行的程序称为进程。 分时系统的用户程序(如编译器)就是进程,PC 的单个用户运行的字处理程序也是进程。系统任务,如将输出发到打印机,也可以是进程(或至少是进程的一部分)。现在,进程可以作为作[详细]
-
操作系统的存储结构及层次(含示意图)
所属栏目:[安全] 日期:2020-12-24 热度:173
CPU 只能从内存中加载指令,因此执行程序必须位于内存。通用计算机运行的大多数程序通常位于可读写内存,称为内存(main memory),也称为随机访问内存(Random Access Memory,RAM)。内存通常为动态随机访问内存(Dynamic Random Access Memory,DRAM)[详细]
-
操作系统运行过程详解
所属栏目:[安全] 日期:2020-12-24 热度:142
现代通用计算机系统包括一个或多个 CPU 和若干设备控制器,通过公用总线相连而成,该总线提供了共享内存的访问(图 1 )。每个设备控制器负责一类特定的设备(如磁盘驱动器、音频设备或视频显示器)。CPU 与设备控制器可以并发执行,并且竞争访问内存。为[详细]
-
操作系统的运行机制(详解版)
所属栏目:[安全] 日期:2020-12-24 热度:76
将I/O结构的时候提到,现代操作系统是中断驱动(interrupt driven)的。如果没有进程需要执行,没有 I/O 设备需要服务,而且没有用户需要响应,那么操作系统会静静地等待某个事件的发生。 事件总是由中断或陷阱引起的。陷阱(trap,或异常(exception))[详细]
-
操作系统安全保护机制
所属栏目:[安全] 日期:2020-12-24 热度:174
如果一个计算机系统有多个用户,并且允许多个进程并发执行,那么数据访问应当加以控制。为此,可以通过机制确保只有经过操作系统授权,进程才可使用相应资源,如文件、内存、CPU 及其他资源。 例如,内存寻址硬件确保一个进程仅可在自己的地址空间内执行,[详细]
-
操作系统的存储管理
所属栏目:[安全] 日期:2020-12-24 热度:63
为了方便计算机用户,操作系统提供信息存储的统一逻辑视图。操作系统对存储设备的物理属性进行了抽象,并定义了逻辑存储单元,即文件(file)。操作系统映射文件到物理媒介,并通过存储设备来访问文件。 文件系统管理 文件管理是操作系统最明显的组件之一[详细]
-
操作系统的I/O结构
所属栏目:[安全] 日期:2020-12-24 热度:83
存储器只是众多计算机 I/O 设备中的一种。操作系统的大部分代码专门用于 I/O 管理,这是由于它对系统的可靠性和性能至关重要,也是由于不同设备具有不同特性。因此,我们首先概述一下 I/O。 每个通用计算机系统由一个 CPU 和多个设备控制器组成,它们通过[详细]
-
git丢弃本地修改的所有文件(新增、删除、修改)
所属栏目:[安全] 日期:2020-12-10 热度:127
一,未使用 git add 缓存代码时。 可以使用 git checkout -- filepathname (比如: git checkout -- readme.md ,不要忘记中间的 “--” ,不写就成了检出分支了!!)。放弃所有的文件修改可以使用 git checkout . 命令。 此命令用来放弃掉所有还没有加入[详细]
-
使用git上传到码云分支的实现
所属栏目:[安全] 日期:2020-12-10 热度:190
1.开发环境 vue+element 2.电脑系统 windows 10 专业版 3.在开发的过程中,我们总是会使用到 git管理代码!使用方法如下: 4.登录自己的码云账号: 5.在自己电脑中,新建一个文件夹: 6.双击进入这个文件夹,右击 选择 :Git Bash Here 然后输入命令如下: 6-1: gi[详细]
-
VSCode中画UML图的方法实现
所属栏目:[安全] 日期:2020-12-10 热度:74
vscode-drawio 是一款 vscode 插件,支持在 vscode 中画流程图、思维导图、 UML 图 github 地址: https://github.com/hediet/vscode-drawio 安装 在 vscode 插件窗口内,搜索 vscode-drawio ,安装即可 使用 在 vscode 中打开 .drawio 扩展名的文件,自动[详细]
