海安零距离 海安论坛 海安新闻 海安

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2164|回复: 0

操作系统知识点梳理

[复制链接]

6234

主题

6234

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
18716
发表于 2019-12-27 18:20 | 显示全部楼层 |阅读模式


  • 历程和线程的区别联系
  1. 历程和线程的关系:(1)一个线程只能属于一个历程,而一个历程可以有多个线程,但至少有一个线程。(2)资源分配给历程,同一历程的全部线程共享该历程的全部资源。(3)线程在实验过程中,须要协作同步。差别历程的线程间要使用消息通信的办法实现同步。(4)线程是指历程内的一个实验单位,也是历程内的可调度实体。线程与历程的区别:(1)线程作为调度和分配的基本单位,历程作为拥有资源的基本单位。(2)体系在运行的时间会为每个历程分配差别的内存空间;而对线程而言,除了CPU外,体系不会为线程分配内存(线程所使用的资源来自其所属历程的资源),线程组之间只能共享资源。(3)在操纵体系中能同时运行多个历程(步伐);而在同一个历程(步伐)中有多个线程同时实验(通过CPU调度,在每个时间片中只有一个线程实验)(4)每个历程都有独立的代码和数据空间(步伐上下文),步伐之间的切换会有较大的开销;线程可以看做轻量级的历程,同一类线程共享代码和数据空间,每个线程都有自己独立的运行栈和步伐计数器(PC),线程之间切换的开销小。
复制代码


  • 线程调度
  1. 线程调度:按照特定机制为多个线程分配CPU的使用权。有两种调度模子:分时调度:全部线程平分cpu的时间片,轮流占用CPU抢占式调度:根据优先级占用CPU调度算法:根据体系的资源分配策略所规定的资源分配算法(1)时间片轮转法    在早期的时间片轮转法中,体系将全部的停当历程按先来先服务的原则排成一个队列,每次调度时,把CPU 分配给队首历程,并令其实验一个时间片。时间片的巨细从几ms 到几百ms。当实验的时间片用完时,由一个计时器发出时钟停止哀求,调度步伐便据此信号来克制该历程的实验,并将它送往停当队列的末端;然后,再把处理机分配给停当队列中新的队首历程,同时也让它实验一个时间片。这样就可以包管停当队列中的全部历程在一给定的时间内均能得到一时间片的处理机实验时间。换言之,体系能在给定的时间内相应全部用户的哀求。(2)高相应比优先调度算法在批处理体系中,短作业优先算法是一种比力好的算法,其重要的不敷之处是长作业的运行得不到包管。如果我们能为每个作业引入前面所述的动态优先权,并使作业的优先级随着等待时间的增长而以速率a 提高,则长作业在等待肯定的时间后,一定有机会分配到处理机。该优先权的厘革规律可形貌为:相应比=(等待时间+服务时间)/服务时间根据公式可知:看成业的等待时间类似时,则要求服务时间越短,其相应比越高,有利于短作业。当要求服务时间类似时,作业的相应比由其等待时间决定,等待时间越长,其相应比越高,因而它实现的是先来先服务。对于长作业,作业的相应比可以随等待时间的增长而提高,当其等待时间充足长时,其相应比便可升到很高,从而也可得到处理机。降服了饥饿状态,分身了长作业。(3)先来先服务算法先来先服务(FCFS)调度算法是一种最简单的调度算法,该算法既可用于作业调度,也可用于历程调度。当在作业调度中采取该算法时,每次调度都是从后备作业队列中选择一个或多个开始辈入该队列的作业,将它们调入内存,为它们分配资源、创建历程,然后放入停当队列。在历程调度中采取FCFS算法时,则每次调度是从停当队列中选择一个开始辈入该队列的历程,为之分配处理机,使之投入运行。该历程不停运行到完成或发生某变乱而壅闭后才放弃处理机。(4)最短优先调度算法最短优先调度算法是指对短作业或短历程优先调度的算法。它们可以分别用于作业调度和历程调度。短作业优先(SJF)的调度算法是从后备队列中选择一个或多少个估计运行时间最短的作业,将它们调入内存运行。而短历程优先(SPF)调度算法则是从停当队列中选出一个估计运行时间最短的历程,将处理机分配给它,使它立刻实验并不停实验到完成,或发生某变乱而被壅闭放弃处理机时再重新调度。
复制代码


  • Linux历程间通信(IPC)
  1. (1)管道(Pipe)管道包括三种:①平常管道PIPE: 通常有两种限定,一是单工,只能单向传输;二是只能在父子大概兄弟历程间使用.②流管道s_pipe: 去除了第一种限定,为半双工,只能在父子或兄弟历程间使用,可以双向传输.③定名管道:name_pipe:去除了第二种限定,可以在很多并不相干的历程之间举行通讯.(2)消息队列( message queue )①消息队列可以以为是一个全局的一个链表,链表节点钟存放着数据报的范例和内容,有消息队列的标识符举行标志。②消息队列允许一个或多个历程写入大概读取消息。③消息队列的生命周期随内核。④消息队列可实现双向通信。(3)共享内存( shared memory ) 共享内存就是映射一段能被其他历程所访问的内存,这段共享内存由一个历程创建,但多个历程都可以访问。共享内存是最快的 IPC 方式,它是针对其他历程间通信方式运行服从低而专门操持的。它往往与其他通信机制,如信号两两共同使用,来实现历程间的同步和通信。(4)信号 ( sinal )信号是一种比力复杂的通信方式,用于关照接收历程某个变乱已经发生。(5)套接字( socket ) 套接字也是一种历程间通信机制,与其他通信机制差别的是,它可用于差别机器间的历程通信。(6)信号量( semophore )信号量是一个计数器,可以用来控制多个历程对共享资源的访问。它常作为一种锁机制,防止某历程正在访问共享资源时,其他历程也访问该资源。因此,重要作为历程间以及同一历程内差别线程之间的同步本领。
复制代码

  • 协程
  1. 协程是一种用户态的轻量级线程,即协程是由用户步伐自己控制调度的。从编程角度上看,协程的头脑本质上就是控制流的主动让出(yield)和规复(resume)机制。yield让协程暂停,和线程的壅闭是有本质区别的。协程的暂停完全由步伐控制,线程的壅闭状态是由操纵体系内核来举行切换。因此,开销更小。缺点:1.协程的本质是单线程下,无法使用多核,可以是一个步伐开启多个历程,每个历程内开启多个线程,每个线程内开启协程。2.协程指的是单个线程,因而一旦协程出现壅闭,将会壅闭整个线程。
复制代码


  • Linux常用下令
  1. 1. awkawk是行处理器,是以文件的一行内容为处理单位的。awk读取一行内容,然后根据指定条件判定是否处理此行内容,若此行文本符合条件,则按照动作处理文本,否则跳过此行文本,读取下一行举行判定。awk   'condition { action }'   filename    处理指定文件的内容command | awk ' condition { action }'     处理某个下令的实验结果注:condition:条件。若此行文本符合该条件,则按照 action 处理此行文本。不添加条件时则处理每一行文本;action:动作。按照动作处理符合要求的内容。一样平常用于打印指定的内容信息;2. toptop下令是Linux下常用的性能分析工具,可以大概实时体现体系中各个历程的资源占用状态,类似于Windows的任务管理器。3. netstat检察本机开启端标语4. grep用于查找文件里符合条件的字符串。grep "被查找的字符串" 文件名    从文件内容查找匹配指定字符串的行grep –e "正则表达式" 文件名    从文件内容查找与正则表达式匹配的行5. less对文件或别的输出举行分页体现的工具6. tail用于检察文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件
复制代码


  • Linux的权限下令
r:代表权限是可读,r也可以用数字4体现
w:代表权限是可写,w也可以用数字2体现
x:代表权限是可实验,x也可以用数字1体现


chmod u=rwx,g=rw,o=r aaa.txt  等价于 chmod 764 aaa.txt


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|深圳论坛-深圳人的网上家园  

GMT+8, 2020-6-1 14:43 , Processed in 0.130606 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表