外存

操作系统-5-进程管理(二)

夙愿已清 提交于 2020-04-20 08:21:59
进程的前三个部分(进程的基本概念、进程控制、线程) 请阅读 操作系统-4-进程管理(一) 四、进程同步      概念: 进程同步的主要任务是使并发执行的各进程之间能有效的共享资源和相互合作,从而使程序的执行具有可再现性。      1 进程同步的基本概念        (1)进程之间的两种制约关系: 间接制约关系:系统资源竞争,进程间彼此无关                    直接制约关系:进程间合作,彼此相关        (2)资源竞争需解决的两个问题: 死锁(Deadlock)问题、饥饿(Starvation)问题(既要解决饥饿问题,又要解决死锁问题。)        (3)进程互斥: 概念:进程互斥指若干进程要使用同一共享资源时,任何时刻最多允许一个进程使用,其他进程必须等待,直到占有资源的进程释放该资源。              作用:进程互斥是解决进程间竞争关系(间接制约关系)的手段。        (4)进程合作: 概念:进程合作是指某些进程为完成同一任务需要分工协作。              作用:进程合作是解决进程间协作关系(直接制约关系)的手段。        (5)进程合作与进程互斥的区别: 进程同步指两个以上进程基于某个条件来协调它们的活动。一个进程的执行依赖于协作进程的消息或信号,                         

软件需求分析 要求模版

自古美人都是妖i 提交于 2020-04-15 11:07:44
【推荐阅读】微服务还能火多久?>>> 软件需求分析就是把软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个软件元素。需求分析是软件定义阶段中的最后一步,是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。 软件需求分析的任务是:深入描述软件的功能和性能,确定软件设计的约束和软件同其他系统元素的接口细节,定义软件的其他有效性需求,借助于当前系统的逻辑模型导出目标系统逻辑模型,解决目标系统“做什么”的问题。 需求分析可分为需求提出、需求描述及需求评审三个阶段。 需求提出主要集中于描述系统目的。需求提出和分析仅仅集中在使用者对系统的观点上。用户、开发人员和用户确定一个问题领域,并定义一个描述该问题的系统。这样的定义称作系统规格说明,并且它在用户和开发人员之间充当合同。 在问题分析阶段分析人员的主要任务是:对用户的需求进行鉴别、综合和建模,清除用户需求的模糊性、歧义性和不一致性,分析系统的数据要求,为原始问题及目标软件建立逻辑模型。分析人员要将对原始问题的理解与软件开发经验结合起来,以便发现哪些要求是由于用户的片面性或短期行为所导致的不合理要求,哪些是用户尚未提出但具有真正价值的潜在需求。 在需求评审阶段,分析人员要在用户和软件设计人员的配合下对自己生成的需求规格说明和初步的用户手册进行复核,以确保软件需求的完整、准确、清晰、具体

计算机考研复试面试常问问题 操作系统篇

被刻印的时光 ゝ 提交于 2020-04-11 17:13:23
计算机考研复试面试常问问题 操作系统篇 在复习过程中,我用心查阅并整理了在 考研复试面试 中可能问到的大部分问题,并 分点整理 了答案,可以 直接理解背诵并加上自己的语言润色 !极力推荐打印下来看,效率更高! 此系列一共有8篇:编程语言篇|数据结构篇|操作系统篇|组成原理篇|计算机网络篇|数据库篇|软件工程篇|计算机专业英语篇( 还未全部完成,敬请期待,你们的支持和关注是我最大的动力! ) 个人整理,不可用于商业用途,转载请注明出处。 作者各个平台请搜索: 程序员宝藏 。快来探索属于你的宝藏吧! 需要 pdf直接打印版 ,可在公众号" 程序员宝藏 "回复 复试上岸 获取(会持续更新) 需要 408电子书2021版 ,可在公众号" 程序员宝藏 "回复 408电子书 获取 需要 408初试视频2021版 ,可在公众号" 程序员宝藏 "回复 408视频 获取 需要 复试机试视频 ,可在公众号" 程序员宝藏 "回复 机试必过 获取 加油,大家都可以上岸!!!让我们一起努力!!! 第一章、计算机系统概述 快速唤起记忆的知识框架 <u>1.操作系统的目标和功能?(什么是操作系统?)</u> 1.操作系统是计算机资源的管理者 处理机管理 (进程控制、进程同步、进程通信、死锁处理、处理机调度) 存储器管理 (提高内存利用率,内存的分配与回收、地址映射、内存保护与共享、内存扩充) 文件管理

MongoDB的索引原理及优化汇总

别来无恙 提交于 2020-04-09 04:27:54
文章目录 1.为什么要建立索引? 2.索引的分类有哪些? 2.1 _id索引 2.2 单字段索引 (Single Field Index) 2.2 多键索引(Multikey Index) 2.3 复合索引 (Compound Index) 2.4 文本索引(Text Index) 2.5 哈希索引(Hashed Index) 2.6 地理位置索引(Geospatial Index) 2.7 其它索引 3.索引优化 3.1 db profiler 3.2 查询计划 4. 索引管理 4.1 建立索引 4.2 查询集合索引 4.3 删除集合索引 4.4 索引重建 1.为什么要建立索引? 假设MongoDB person集合里包含插入了4个文档,其存储后位置信息如下(为方便描述,文档省去_id字段) 位置信息 文档 pos1 {“name” : “jack”, “age” : 19 } pos2 {“name” : “rose”, “age” : 20 } pos3 {“name” : “jack”, “age” : 18 } pos4 {“name” : “tony”, “age” : 21} pos5 {“name” : “adam”, “age” : 18} 假设现在有个查询 db.person.find( {age: 18} ), 查询所有年龄为18岁的人,这时需要遍历所有的文档

联通

风格不统一 提交于 2020-04-06 02:32:52
1.存储器 1)主存储器(内存):RAM、ROM 2)外存储器(辅助) 2.运算器的核心部分:算数逻辑运算单元 3.位、字节、字、字长 4.程序控制类指令:改变程序执行顺序 5.水平微指令:一次能定义并执行多个并行操作微命令的微指令 垂直微指令:一般只能完成一个操作 6.秒 1s = 1000ms 1ms = 1000us 1us = 1000ns 7.NOS:网络操作系统 提供文件服务、打印服务、数据库服务、通信服务、信息服务、分布式服务、网络管理服务和Internet/Intranet服务 8.集线器 9.100BASE-T 10.计算机算法特性 1)确定性,算法首先必须是正确的,即对于任意的一组输入,包括合理的输入与不合理的输入,总能得到预期的输出 2)可执行性,算法必须是由一系列具体步骤组成的,并且每一步都能够被计算机所理解和执行,而不是抽象和模糊的概念 3)可行性,每个步骤都有确定的执行顺序,即上一步在哪里;下一步是什么,都必须明确,无二义性 4)有穷性,无论算法有多么复杂,都必须在有限步之后结束并终止运行;即算法的步骤必须是有限的 SA(Structure analysis):面向数据流的结构化分析方法 JSD(Jackson system development method):面向数据结构的Jackson方法 DSSD(Data structured system

联通

拈花ヽ惹草 提交于 2020-04-06 02:04:06
1.存储器 1)主存储器(内存):RAM、ROM 2)外存储器(辅助) 2.运算器的核心部分:算数逻辑运算单元 3.位、字节、字、字长 4.程序控制类指令:改变程序执行顺序 5.水平微指令:一次能定义并执行多个并行操作微命令的微指令 垂直微指令:一般只能完成一个操作 6.秒 1s = 1000ms 1ms = 1000us 1us = 1000ns 7.NOS:网络操作系统 提供文件服务、打印服务、数据库服务、通信服务、信息服务、分布式服务、网络管理服务和Internet/Intranet服务 8.集线器 9.100BASE-T 10.计算机算法特性 1)确定性,算法首先必须是正确的,即对于任意的一组输入,包括合理的输入与不合理的输入,总能得到预期的输出 2)可执行性,算法必须是由一系列具体步骤组成的,并且每一步都能够被计算机所理解和执行,而不是抽象和模糊的概念 3)可行性,每个步骤都有确定的执行顺序,即上一步在哪里;下一步是什么,都必须明确,无二义性 4)有穷性,无论算法有多么复杂,都必须在有限步之后结束并终止运行;即算法的步骤必须是有限的 SA(Structure analysis):面向数据流的结构化分析方法 JSD(Jackson system development method):面向数据结构的Jackson方法 DSSD(Data structured system

从 TPCH 测试学习性能优化技巧之 Q1

依然范特西╮ 提交于 2020-04-05 19:52:21
一、 查询要求 Q1语句查询lineItem的一个定价总结报告。在单个表lineitem上查询某个时间段内,对已经付款的、已经运送的等各类商品进行统计,包括业务量的计费、发货、折扣、税、平均价格等信息。 Q1语句的特点是:带有分组、排序、聚集操作并存的单表查询操作。这个查询会导致表上的数据有95%到97%行被读取到。 二、 Oracle执行 Oracle编写的查询SQL语句如下: select /*+ parallel(n) */ l_returnflag, l_linestatus, sum(l_quantity) as sum_qty, sum(l_extendedprice) as sum_base_price, sum(l_extendedprice * (1 - l_discount)) as sum_disc_price, sum(l_extendedprice * (1 - l_discount) * (1 + l_tax)) as sum_charge, avg(l_quantity) as avg_qty, avg(l_extendedprice) as avg_price, avg(l_discount) as avg_disc, count(*) as count_order from lineitem where l_shipdate <= date

我和面试官之间关于操作系统的一场对弈!写了很久,希望对你有帮助!

偶尔善良 提交于 2020-04-05 19:14:17
大家好,我是 Guide 哥!很多读者抱怨计算操作系统的知识点比较繁杂,自己也没有多少耐心去看,但是面试的时候又经常会遇到。所以,我带着我整理好的操作系统的常见问题来啦!这篇文章总结了一些我觉得比较重要的操作系统相关的问题比如 进程管理 、 内存管理 、 虚拟内存 等等。 文章形式通过大部分比较喜欢的面试官和求职者之间的对话形式展开。另外,Guide 哥也只是在大学的时候学习过操作系统,不过基本都忘了,为了写这篇文章这段时间看了很多相关的书籍和博客。如果文中有任何需要补充和完善的地方,你都可以在评论区指出。如果觉得内容不错的话,不要忘记点个在看哦! 我个人觉得学好操作系统还是非常有用的,具体可以看我昨天在星球分享的一段话: <img src="https://my-blog-to-use.oss-cn-beijing.aliyuncs.com/2019-11/image-20200329145912767.png" height="666"/> 这篇文章只是对一些操作系统比较重要概念的一个概览,深入学习的话,建议大家还是老老实实地去看书。另外, 这篇文章的很多内容参考了《现代操作系统》第三版这本书,非常感谢。 一 操作系统基础 面试官顶着蓬松的假发向我走来,只见他一手拿着厚重的 Thinkpad ,一手提着他那淡黄的长裙。 <img src="http://wx4.sinaimg

FPGA工作原理与简介

落爺英雄遲暮 提交于 2020-03-27 10:55:09
3 月,跳不动了?>>> 如前所述,FPGA是在PAL、GAL、EPLD、CPLD等可编程器件的基础上进一步发展的产物。它是作为ASIC领域中的一种半定制电路而出现的,即解决了定制电路的不足,又克服了原有可编程器件门电路有限的缺点。 由于FPGA需要被反复烧写,它实现组合逻辑的基本结构不可能像ASIC那样通过固定的与非门来完成,而只能采用一种易于反复配置的结构。查找表可以很好地满足这一要求,目前主流FPGA都采用了基于SRAM工艺的查找表结构,也有一些军品和宇航级FPGA采用Flash或者熔丝与反熔丝工艺的查找表结构。通过烧写文件改变查找表内容的方法来实现对FPGA的重复配置。 根据数字电路的基本知识可以知道,对于一个 n 输入的逻辑运算,不管是与或非运算还是异或运算等等,最多只可能存在 2n 种结果。所以如果事先将相应的结果存放于一个存贮单元,就相当于实现了与非门电路的功能。FPGA的原理也是如此,它通过烧写文件去配置查找表的内容,从而在相同的电路情况下实现了不同的逻辑功能。 查找表(Look-Up-Table)简称为LUT,LUT本质上就是一个RAM。目前FPGA中多使用4输入的LUT,所以每一个LUT可以看成一个有4位地址线的 的RAM。 当用户通过原理图或HDL语言描述了一个逻辑电路以后,PLD/FPGA开发软件会自动计算逻辑电路的所有可能结果,并把真值表(即结果

详解FPGA典型结构图

半腔热情 提交于 2020-03-23 10:54:22
3 月,跳不动了?>>> 基于LUT的FPGA具有很高的集成度,其器件密度从数万门到数千万门不等,可以完成极其复杂的时序与逻辑组合的逻辑电路功能,因此其适用于高速、高密度的高端数字逻辑电路设计领域。其组成部分主要有可编程输入/输出单元、基本可编程逻辑单元、内嵌SRAM、丰富的布线资源、底层嵌入功能单元、内嵌专用单元等。FPGA的主要设计和生产厂家有赛灵思、Altera、Lattice、Actel、Atmel和QuickLogic等,其中最大的是美国赛灵思公司,在可编程市场中占有50%以上的份额,比其他所有竞争对手市场份额的总和还多。 FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。 目前,FPGA市场占有率最高的两大公司——赛灵思公司和Altera生产的FPGA都是基于SRAM工艺的,需要在使用时外接一个片外存储器以保存程序。上电时,FPGA将外部存储器中的数据读入片内RAM,完成配置后,进入工作状态;掉电后SRAM存储的数据丢失,内部逻辑消失。这样,FPGA能反复使用,且无须专门的FPGA编程器,只需配备一片存储代码的FLASH存储器即可。 Actel、QuickLogic等公司还提供反熔丝技术的FPGA,它具有抗辐射、耐高低温、低功耗和速度快等优点,在军品和航空航天领域中应用较多