-
CPU调度准则(完整版)
所属栏目:[安全] 日期:2020-12-24 热度:61
不同的 CPU 调度算法具有不同属性,选择一个特定算法会对某些进程更为有利。为了选择算法以便用于特定情景,我们必须考虑各个算法的属性。 为了比较 CPU 调度算法,可以采用许多比较准则。选择哪些特征来比较,对于确定哪种算法是最好的有本质上的区别。这[详细]
-
多级反馈队列调度算法详解
所属栏目:[安全] 日期:2020-12-24 热度:134
通常在使用多级队列调度算法时,进程进入系统时被永久地分配到某个队列。例如,如果前台和后台进程分别具有单独队列,那么进程并不从一个队列移到另一个队列,这是因为进程不会改变前台或后台的性质。这种设置的优点是调度开销低,缺点是不够灵活。 相反,[详细]
-
优先级调度算法及其优缺点
所属栏目:[安全] 日期:2020-12-24 热度:156
SJF?算法是通用优先级调度算法的一个特例。每个进程都有一个优先级与其关联,而具有最高优先级的进程会分配到 CPU。具有相同优先级的进程按 FCFS 顺序调度。SJF 算法是一个简单的优先级算法,其优先级(p)为下次(预测的)CPU 执行的倒数。CPU 执行越长,[详细]
-
互斥锁的原理及作用
所属栏目:[安全] 日期:2020-12-24 热度:119
操作系统设计人员构建软件工具,以解决临界区问题,最简单的工具就是互斥锁(mutex lock)。我们采用互斥锁保护临界区,从而防止竞争条件。 也就是说,一个进程在进入临界区时应得到锁;它在退出临界区时释放锁。函数 acquire() 获取锁,而函数 release()[详细]
-
时间片轮转(RR)调度算法(详解版)
所属栏目:[安全] 日期:2020-12-24 热度:97
时间片轮转(RR)调度算法是专门为分时系统设计的。它类似于 FCFS调度,但是增加了抢占以切换进程。 该算法中,将一个较小时间单元定义为时间量或时间片。时间片的大小通常为 10~100ms。就绪队列作为循环队列。CPU 调度程序循环整个就绪队列,为每个进程分[详细]
-
Peterson算法(解决临界区问题)详解
所属栏目:[安全] 日期:2020-12-24 热度:136
本节说明一个经典的基于软件的临界区问题的解决方案,称为 Peterson 算法。 Peterson 算法提供了解决临界区问题的一个很好的算法,并能说明满足互斥、进步、有限等待等要求的软件设计的复杂性。 Peterson算法适用于两个进程交错执行临界区与剩余区。两个进[详细]
-
最短作业优先(SJF)调度算法(详解版)
所属栏目:[安全] 日期:2020-12-24 热度:140
最短作业优先(SJF)调度算法将每个进程与其下次 CPU 执行的长度关联起来。当 CPU 变为空闲时,它会被赋给具有最短 CPU 执行的进程。如果两个进程具有同样长度的 CPU 执行,那么可以由 FCFS 来处理。 一个更为恰当的表示是最短下次CPU执行算法,这是因为调[详细]
-
单调速率调度(RMS)算法(详解版)
所属栏目:[安全] 日期:2020-12-24 热度:145
单调速率(RMS)调度算法采用抢占的、静态优先级的策略,调度周期性任务。 当较低优先级的进程正在运行并且较高优先级的进程可以运行时,较高优先级进程将会抢占低优先级。在进入系统时,每个周期性任务会分配一个优先级,它与其周期成反比,即周期越短,[详细]
-
最早截止时间优先(EDF)算法详解
所属栏目:[安全] 日期:2020-12-24 热度:68
最早截止期限优先(EDF)调度根据截止期限动态分配优先级。截止期限越早,优先级越高;截止期限越晚,优先级越低。 根据 EDF 策略,当一个进程可运行时,它应向系统公布截止期限要求。优先级可能需要进行调整,以便反映新可运行进程的截止期限。注意单调速[详细]
-
系统调用的类型(六大类)
所属栏目:[安全] 日期:2020-12-24 热度:192
系统调用大致可分为六大类:进程控制(process control)、文件管理(file manipulation)、设备管理(device manipulation)、信息维护(information maintenance)、通信(communication) 和保护(protection)。 进程控制 执行程序应能正常(end())或[详细]
-
管道(无名管道)通信机制原理和实现详解
所属栏目:[安全] 日期:2020-12-24 热度:60
管道(pipe)允许两个进程进行通信,是早期 UNIX 系统最早使用的一种 IPC 机制。管道为进程之间的相互通信提供了一种较为简单的方法,尽管也有一定的局限性。 在实现管道时,应该考虑以下四个问题: 管道允许单向通信还是双向通信? 如果允许双向通信,它[详细]
-
命令行界面和图形用户界面(GUI)
所属栏目:[安全] 日期:2020-12-24 热度:71
正如前面所述,用户与操作系统的界面有多种方式。这里,讨论两种基本方案: 提供命令行界面或命令解释程序(command interpreter),允许用户直接输入命令,以供操作系统执行。 允许用户通过图形用户界面(GUI)与操作系统交互。 命令解释程序 有的操作系[详细]
-
什么是多核,并行和并发的区别
所属栏目:[安全] 日期:2020-12-24 热度:68
在计算机设计早期,为了响应更多计算性能的需要,单处理器系统发展成为多处理器系统。更现代的、类似的系统设计趋势是将多个计算核放到单个芯片。无论多个计算核是在多个CPU芯片上还是在单个 CPU 芯片上,我们称之为多核或多处理器系统。 多线程编程提供机[详细]
-
套接字是什么,套接字通信及其原理
所属栏目:[安全] 日期:2020-12-24 热度:143
套接字(socket)为通信的端点,每个套接字由一个 IP 地址和一个端口号组成。通过网络通信的每对进程需要使用一对套接字,即每个进程各有一个。 通常,套接字采用客户机-服务器架构。服务器通过监听指定端口,来等待客户请求。服务器在收到请求后,接受来[详细]
-
什么是进程控制块,进程控制块的作用
所属栏目:[安全] 日期:2020-12-24 热度:138
操作系统内的每个进程表示,釆用进程控制块(Process Control Block,PCB),也称为任务控制块。 图 1 进程控制块(PCB) 每个进程控制块如图 1 所示,它包含许多与当前进程相关的信息: 进程状态:状态可以包括新的、就绪、运行、等待、停止等。 程序计数[详细]
-
线程池是什么,线程池及其原理
所属栏目:[安全] 日期:2020-12-24 热度:200
学习线程时,我们描述了一个多线程的 Web 服务器,每当服务器接收到一个请求时,它都会创建一个单独线程来处理请求。虽然创建一个单独线程肯定优于创建一个单独进程,但是多线程服务器仍然有些潜在的问题。 第一个问题是创建线程所需的时间多少,以及线程[详细]
-
进程间通信(IPC):共享内存和消息队列原理详解
所属栏目:[安全] 日期:2020-12-24 热度:148
操作系统内的并发执行进程可以是独立的也可以是协作的: 如果一个进程不能影响其他进程或受其他进程影响,那么该进程是独立的,换句话说,不与任何其他进程共享数据的进程是独立的; 如果一个进程能影响其他进程或受其他进程所影响,那么该进程是协作的。[详细]
-
线程是什么,线程及其特点
所属栏目:[安全] 日期:2020-12-24 热度:131
几乎所有现代操作系统都允许一个进程包含多个线程。每个线程是 CPU 使用的一个基本单元,它包括线程 ID、程序计数器、寄存器组和堆栈。 进程与同一进程的其他线程共享代码段、数据段和其他操作系统资源,如打开文件和信号。每个传统或重量级进程只有单个控[详细]
-
操作系统的设计和实现过程
所属栏目:[安全] 日期:2020-12-24 热度:154
本节讨论操作系统设计和实现面临的问题。虽然这些问题没有完整的解决方案,但是有些方法还是行之有效的。 设计目标 系统设计的首要问题是,定义目标和规范。从高层来说,系统设计取决于所选硬件和系统类型:批处理、分时、单用户、多用户、分布式、实时或[详细]
-
Git版本控制常用命令及pycharm 使用git方法
所属栏目:[安全] 日期:2020-12-10 热度:94
SVN (集中式版本控制工具) GIT (分布式版本控制工具) git 服务器 git代码托管平台 github 自己搭建私服 gitblib git 客户端 linux : sudo apt install git window : git.exe git常见的命令 设置 git 用户身份 git config --global user.name '名字' ; gi[详细]
-
在IDEA(2020.2)中配置Git及使用Git的图文详解
所属栏目:[安全] 日期:2020-12-10 热度:149
先配置好git的本地地址,然后test,出现版本号说明测试成功! 二、 idea中使用git可以直接在idea中使用命令操作git 1.初始化本地仓库 选好项目点击OK即可。 2.添加到暂存区 3.提交到本地仓库 也可以在这里提交,效果一样只是位置不一样 4.推送至远程仓库 5[详细]
-
20个提高开发效率的VS Code快捷键(推荐)
所属栏目:[安全] 日期:2020-12-10 热度:193
所以,下面我列出了我最喜欢的快捷键。 1.多行转一行 在 MAC 上:Ctrl + J 在 Ubuntu/Windows 上:通过FilePreferencesKeyboard shortcuts打开快捷键的设置,并且绑定editor.action.joinLines你自己的快捷键。 2.格式化代码 这个快捷键可以帮助我们对代码[详细]
-
idea集成Git实现团队合作分工的原理详解
所属栏目:[安全] 日期:2020-12-10 热度:77
1.2. 设置邮箱 1.3. 创建企业 首页中点企业版创建企业。 1.4. 公司添加成员 1.4.1. 公司添加成员 1.4.2. 复制链接 1.4.3. 成员加入公司 1.4.4. 成员看到公司信息 1.4.5. 公司查看成员信息 1.5. 创建仓库 1.6. 安装git Git是目前世界上最先进的分布式版本控[详细]
-
最新版Git2.29.2超详细安装流程(图文详解)
所属栏目:[安全] 日期:2020-12-10 热度:173
选择需要的 Mac、Window、Linux/Unix 版本 Git官网入口:点我下载 二、安装流程 流程如下 安装结束 一起学习进步,加油吧少年~ (如果安装过程出现其他问题,大家可以留言一起解决) 到此这篇关于最新版Git2.29.2超详细安装流程(图文详解)的文章就介绍到这[详细]
-
详解git基本操作和指令
所属栏目:[安全] 日期:2020-12-10 热度:63
基本操作 一、基本操作命令 创建进入空文件夹 右键 - 点击 Git Bash Here 启动命令行(MAC 在当前文件夹打开终端) git init 仓库初始化 创建一个初始化文件 index.html git add index.html 将文件加入到暂存区 git commit -m '注释' 提交到仓库 m 是 mess[详细]