自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 小白日记:迪杰斯特拉算法

Dijikstra算法是著名的图算法。DIjikstra算法解决有权图从一个节点到其他节点的最短路径问题。以起始为中心,向外层层扩展。步骤1初始化两个集合(s, u)(s为只有初始顶点点A的集合,U为其它顶点集合)2如果U不为空,对U集合顶点进行距离的安排,并取出距离A最近的一个定点D。i将顶点D的纳入s集合ii更新通过顶点D到达U集合中所能到达的所有点的距离,不能够进行跨点,只能是ABC的模式,不能是ABCD的模式。(如果距离更小就更新,否则不更新)iii重复2步骤3直到U集合为空,算法

2021-02-25 11:48:07 133

原创 小白日记:内部网关路由协议之RIP协议

距离矢量(DV)算法每一个节点使用两个向量Di和SiDi描述的是当前节点到别的节点之间的距离,Si描述的是当前节点到别的节点的下一节点。每个节点都会与相邻节点交换向量Di和Si的信息。每一个节点根据交换的信息更新自己的节点的信息。Di = 【di1, di2, di3, di4】di1表示从节点i到节点1的距离,di2就是i到2的距离。Si = 【si1, si2, si3】Si1表示从节点i到节点1的下一个节点算法会寻找最佳路径,并且将数据更新,就像上边说的一样A会和B、C、D节点交换数

2021-02-18 23:00:41 279

原创 小白日记:网络层的路由概述

路由算法实际上就是图论的算法。但是路由算法不单单是图论算法,因为网络环境很复杂。对算法的要求算法是正确、完整的。算法在计算上应该尽可能的简单。算法可以适应网络中的变化算法是稳定的和公平的(即使这个设备发生故障,也不会影响其他设备,公平就是什么设备都一样,不会因为设备不一样就区别对待,就刻意快一点)自治系统(Autonomous System)一个自治系统是吃与一个管理机构下的网络设备群(国家、公司)AS内部网络自行管理,AS对外提供一个或者多个出入口。可以将AS与ISP划等号,主干AS、

2021-02-15 22:45:21 118

原创 小白日记:ICMP的应用

Ping应用它主要是使用ICMP协议的询问报文,用来排查网络故障。Ping回环地址127.0.0.1Ping网关地址:就是192.163那个Ping远端地址:有问题就是在家与ISP之间有问题。Traceroute应用用于检测IP数据报在网络中走过哪些位置。跟之前的TTL有关,TTL就是一共有八位,是自己设定的,每经过一个设备就减一,减完数据就被丢弃了。比如:我要将设备A的数据发送到设备B。先将TTL设为1,在经过第一个中型网络时,TTL耗尽,返回设备A。设备A再发信息,这回TTL为2,经过一个

2021-02-14 22:34:01 247

原创 小白日记:ICMP协议

网络控制报文协议(Internet Control Message Protocal)ICMP协议可以报告错误信息或者异常情况,主要协助IP协议进行网络传输。ICMP协议是封装在数据报的数据中的差错报告报文.分为三项:类型的值 报文类型 具体代码3 网络不可达 (发向特殊网络) 03 主机不可达(关机) 15 对网

2021-02-13 22:38:39 89

原创 小白日记:网络地址转换NAT技术

我们都知道,我们的设备上网都需要有唯一的一个IP地址。那么我们在一个家庭本身只有一个IP地址的情况下,是怎么将所有设备连接到互联网上的呢。内网地址就是内部机构使用的,比如手机,电脑,使用的都是家里面的那一个IP地址。内网的地址要避免与外网重复。内网地址类别:分别是可支持千万台,可支持百万台,可支持万台。这三个级别,因为内网是给自己内部使得,所以可以两个公司的内网地址一样。家庭也一样。外网地址就是全球只有一个的IP地址,就像我们家庭一样,本身是只有一个IP地址的,但是有一大堆的设备在使用同一个IP

2021-02-11 22:59:49 101

原创 小白日记:IP地址的子网划分

分类的IP地址如果直接划分42亿个地址会非常麻烦,所以我们将其分为以下几个类别:A类:网络号为8位的,并且首位为0,主机号24位的。B类:网络号为16位,前两位为10,主机号为16位。C类:网络号为24位,前三位为110,主机号为8位。特殊主机号主机号全为零的,表示的是当前网络段,这个号是不能分配的。主机号为全1的,是广播地址,像当前网络段所有主机发消息。这个全一指的是8个1。别忘了这是二进制,换算成十进制就是255。A类地址网络段全0(00000000),表示特殊网络。A类地址网络段后7

2021-02-09 19:09:13 973

原创 小白日记: ARP协议与RARP协议

要想将数据传输到下一个设备,我们就必须知道下一个设备的物理地址MAC。那么如果我们不知道下一个设备的MAC的地址呢,该怎么办呢?ARP(Address Resolution Protocol)地址解析协议这个协议可以将网络层的IP32位地址转化成MAC48地址。第一种情况:我们在查ARP缓存表的时候,发现表内存有IP地址和MAC地址的映射关系。那么我们就可以按照刚才的顺序将数据传输给下一个设备,因为我们表中已经将地址缓存了。第二种情况:我们在查表的时候发现缓存表里没有存储IP地址和MAC地址的映射

2021-02-06 23:26:03 118

原创 小白日记:计算机网络之IP协议的转发流程

逐跳(hop-by-hop)一个设备一个设备的挨着跳过去。路由表的简介由目的IP地址,和下一跳的IP组成。计算机或路由器都有路由表。IP协议的转发流程数据是怎样跨数据传输的?A发出目的地为C的IP地址,查询路由表发现下一跳为E设备。A设备会将数据报发送给E设备。E查询路由表发现下一跳为F,于是将数据报发送给F。F查询路由表发现目的地,就直接连接目的设备,将数据报发送给目的设备。站在数据链路层和网络层一起看A设备发出目的地为C设备的IP数据报,查询路由表发现,下一跳为E。A设备将IP

2021-02-05 23:07:31 238

原创 小白日记:IP协议详解

虚拟互连网络实际的计算机网络是非常复杂的。有可能连接到家庭、公司,各大洲,连到哪里都可能。物理设备使用IP协议,屏蔽了设备之间物理之间的差异。就是将学校、家庭、公司、地区、各大洲之间的物理设备之间的差异给屏蔽了。当网络设备之间使用IP协议时,不用关心两个设备之间的传输问题,只需要把数据传输出去,或接收就行了。IP协议使得复杂的世纪网络变为了一个你不需要关心他内部是怎么实现的,你把数据传进去,拿出来,就行了。充分的表现了各层之间互不相关的解耦性。IP协议使得网络层可以屏蔽了底层细节而专注网络层的数据

2021-02-03 15:35:40 143

原创 小白日记:以太网协议

MAC地址也被称为物理地址,硬件地址。每一个设备都拥有唯一的一个MAC地址,就像身份证一样。MAC地址一共48位,一般用16进制表示。以太网协议以太网是一种广泛使用的局域网技术。以太网是一种应用与数据链路层的协议。使用以太网可以完成相邻设备的数据帧传输。格式:分为目的地址,源地址,类型,帧数据,CRC目的地址是六个字节,源地址也是6,2,46~1500,4。MAC地址表是一个映射,将MAC地址映射到硬件接口。传输数据的步骤A通过网卡发出数据帧数据帧到达路由器,路由器取出前六个字节。

2021-02-01 22:08:02 120

原创 小白日记:最大传输单元MTU

MTUMTU就是最大传输单元。数据链路层传输的数据帧也不是无限大的。两个设备之间传输数据是受MTU限制的。MTU过大或者过小都会影响传输的效率。以太网的MTU一般为1500字节。MTU过大,时延就会增大。MTU过小,发射数据的次数就会变多,1500字节是最佳的大小。路径MTU两个数据之间传输数据,设备与设备之间会有很多的小型网落,设备A到第一个小型网络是1500,第一个小型网络到第二个是1492,二到三就是4464,三到设备B是1500.我们取最小的小型网络,也就是1492做路径MTU,这就

2021-01-30 22:58:20 2916

原创 小白日记:数据链路层的差错检测

奇偶校验码在比特流的尾部添加一位比特位,来检测比特流是否出错。比如说:现在有一个00110010,我往后面添加一个1。这个1是因为比特流本身相加得3,所以用1来表示这个比特流本身是奇数。用1代表奇数,用0代表偶数。如果在接收端发现数据传输过来是000100101,除了末尾的1,其他相加是2,与末尾的奇数不符。那么我们就可以发现他的错误了。但是还有一种情况,如果前面出现了错误,但是还是跟末尾的奇数或偶数一致,那么我们的奇偶校验码就检测不出来了。循环冗余校验码CRC这是一种根据传输或保存的数据而产生

2021-01-29 18:29:09 590

原创 小白日记:数据链路层概述

数据链路层要解决三个问题封装成帧帧就是数据链路层的数据的基本单位。发送端会在网络层的一段数据前后添加特定的标记,添加完这段标记之后,这段数据就是帧了。接收端会根据标记辨认出“帧”这里需要注意的是,物理层不会管其他层的事情,比如“帧"什么的。他只管自己这层的事。这里就将各层级之间的互不相关以及解耦性表现得淋漓尽致。封装成帧的步骤:1网络层把IP的数据报传送给数据链路层。2数据链路层接收到数据之后就会把获得的数据报看成是一个应该被制作成“帧”的一个数据,给他在头部添加一个帧头部,在尾部添加一个帧

2021-01-27 22:44:47 199

原创 小白日记: 物理层概述

物理层作用连接不同之间的设备传输比特流连接物理设备之间的媒介:双绞线,平常用的网线就是双绞线。同轴电缆:现在用的少了。光纤:利用折射率使信号进行传播的介质。红外线,无线,激光。比特流:就是用高低电平来表示1和0。信道的基本概念信道是往一个方向传送信息的媒体,一条通信电路包含了一个接收信道和一个发送信道。只有一个信道,但是传输信息的时候并不会冲突。单工信道:这是因为信道只能往一个方向传输信息,不能反方向传输。比如电视,只能接受,不能发送。半双工通信信道:可以发送也可以接受,但是不能同时发送或

2021-01-26 22:52:48 26124 5

原创 小白日记:计算机网络的性能指标

时延发送时延:在发送的时候信息在本机停留得时间,发送时延等于数据长度除以发送速率。传播时延:就是数据在路上的时间,等于传输路径距离除以传输速率排队时延:数据包在网络设备中等待被处理的时间。处理时延:数据包被设备处理的时延总时延:以上相加往返时间RTT(Route-Trip Time)表示的是数据在端对端通信中花费的时间,就是到对方数据端再回来花费的时间。我们通常使用ping命令查看RTT...

2021-01-24 22:47:50 259

原创 小白日记: 现代互联网的网络拓扑

边缘部分:家庭边缘部分就是我们手中的手机,电脑,扫地机器人之类的。在他们下面再也没有别的机器去连接他们了。而这些地层设备是通过路由器连接到网关的,而网关又连接到地区ISP。边缘部分:企业有很多电脑和手机连接着很多路由器,路由器又连接着很多网关,而这些网关之间互相也能连接,然后这些内部网关再统一连接到一个统一网关,再由统一连接到地区ISP。核心部分很多地区ISP连接到主干ISP,而这些主干ISP再通过路由器与其他主干ISP连接。网络中寻找数据最常见的就是客户服务器模式,客户发出请求,服务器响应,

2021-01-22 09:36:42 182

原创 小白日记:层次结构设计的基本原则

我们在网络上主要接触的是顶层数据,比如视频、文件、游戏。也就是网络应用数据。但是我们也要关心数据错误,重复等问题,也就是数据的可靠通信。还有最底层的光电等物理特性(用光纤接还是用电线接),也就是物理网络接入。原则各层之间互相独立,我们可以只关心一个层面,比如我们搞软件,就不用关心光纤。每一层要有足够的灵活性。这是留出一定空间,给未来出现的难题留出解决的地方。各层之间解耦,也就是某一层他的上一层或下一层出现变化,也不会影响这一个层。OSI七层模型应用层————为计算机用户提供接口和服务,我们大

2021-01-21 09:45:15 526

原创 小白日记:发展简史

第一阶段:单个网络ARPANT,是美国只有几个计算机的时候用来连接他们的网络。这个网络也就是局域网。让计算机与交换机互相连接,就可以完成整个网络了。第二阶段:三级结构互联网,这个阶段的网络就可以把美国实验室,大学里面的计算机都连接起来了。这个网络也就是城域网三级结构互联网由三层结构构成:主干网,地区网,校园网。第三阶段:多层次ISP互联网,这个阶段的网络就是能把所有电脑连接起来的真互联网,也就是广域网。ISP就是网络服务提供商(就是联通移动什么的),各个主干ISP之间互相链接。这个阶段的ISp就是

2021-01-18 22:39:13 176 2

原创 小白日记:进程同步之Unix域套接字

域套接字是一个非常高级的进程间通信的方法。Unix域套接字可以用于同一机器进程间通信。套接字(socket)本来是网络通信中的术语。Unix系统提供的域套接字提供了网络套接字类似的功能。使用流程服务端:创建套接字,绑定套接字,监听套接字,接收&处理信息客户端:创建套接字,连接套接字,发送信息优缺点提供了单机简单可靠地进程通信同步服务只能在单机使用,不能跨机器使用。...

2021-01-16 21:16:25 120

原创 小白日记:进程同步之共享内存

线程本身不具备资源,只能共享进程的资源,进程们共享计算机的资源。在某种程度上,多进程是共同使用物理内存的。由于操作系统的进程管理,进程间的内存是独立的,这样就确保了每一个进程运行时的安全性。进程默认是无法访问进程空间之外的内存的。而共享内存允许不相关的进程访问同一片物理内存,原理就是将物理内存放到各个进程的页表中去,让那些进程通过页表去访问共享内存。共享内存允许两个毫不相关的进程访问同一片物理内存,共享内存是进程之间共享和传递数据最快的方法。共享内存有一个问题:就是他本身没有提供同步机制,需要借

2021-01-15 22:54:20 162 2

原创 小白日记:使用fork系统调用创建进程

fork函数是属于c语言的,在java和python中,创建进程时的底层实现也是用的fork函数。fork函数创建的新进程初始化状态和父进程是一样的,就像是复制的一样。fork函数的调用是不需要参数的。无论形参还是实参。fork函数的调用会返回两次,分别返回子进程id和0。在这两次返回中,返回ID的是父进程,也就是fork函数,而这个ID也就是子进程的ID。返回0的就是子进程,如果返回的值小于0,那么进程就没有创建成功。...

2021-01-14 20:40:00 224

原创 小白日记:线程同步之条件变量

条件变量是一种相对复杂的线程同步的方法条件变量允许线程在资源不足时,进入睡眠状态,直到所有资源都齐备的情况下再将线程唤醒。前面的生产者消费者故事,是有漏洞的,是因为前面的故事没有考虑到缓冲区小于零,消费者必须等待生产者生产出产品的情况。以及缓冲区已经满了的时候,生产者必须等待缓冲区有一个空位的情况再生产。这个时候我们就面临了一个问题:怎样在生产者生产了一个产品,或消费者消费了一个产品的时候,唤醒可能正在等待的生产者或消费者。条件变量需要配合互斥量来使用。他和读写锁一样,加锁和解锁也是用两个语句来

2021-01-12 22:39:14 75

原创 小白日记:线程同步之读写锁

读写锁之所以出现是因为在我们的实际开发中会遇到这一种我们一般不会去改变的临界资源,一般这种临界资源就是多读少写。我们在读取的时候不会改变临界资源中的值,对于这样一种资源,我们要是每次都给他进行加锁的话,那么效率会很低。读写锁是一种特殊的自旋锁读写锁会允许多个线程同时访问资源以提高读取数据的性能。读写锁允许多个线程同时进行读操作,但是不允许多个进程同时进行写操作,对于多个线程同时进行写操作读写锁是不允许的。并且在有程序进行读操作的时候,也是不允许其他线程进行写操作的。读写锁在加锁的时候,有两种锁,一种

2021-01-10 15:47:56 191

原创 小白日记: 线程同步之自旋锁

自旋锁的原理与互斥锁是一样的。自旋锁也是一个使得多线程同步的变量,他会反复检查锁变量是否可用,就是检查这个线程所想使用的资源可不可用。不可用就会一直等待并且一直不停的检查,就像是在一直不停的申请一样。而且自旋锁会使那个等待的线程一直占用着cpu不放。是一种忙等待状态。使用自旋锁可以避免进程或线程上下文切换的开销,就是避免了线程在等待的时候将cpu释放,将上下文数据存储,又使得一个新的线程获得cpu资源,从而需要将这个获得了cpu资源的新线程的上下文信息载入。就是避免了这种在只需很短的时间等待的情况下瞎折

2021-01-07 11:22:37 129

原创 小白日记:线程同步之互斥量

互斥量是为了保证,在一个线程使用临界资源时,其他线程无法使用那个已经被占用的临界资源。阻止其他线程对正在被使用的临界资源的访问是他的工作原理。互斥量可以防止两个线程的指令交叉执行,可以很好的对线程的指令进行控制,就相当于是将哪个线程先执行哪个线程后执行理顺了,保证先后线程的的执行顺序。原子性指的是一系列的操作不可被中断的特性,也就是说就是一个线程中的指令要不全部没有被执行,要不就全部执行完了,所有线程的行动都是一致的。不存在部分指令执行,然后就去执行其他指令了,上一个线程执行一半就不管了。互斥锁是最简

2021-01-06 19:00:19 76

原创 小白日记: 操作系统的设备管理

广义的IO设备对cpu而言,凡是对cpu进行数据输入的都是输入设备。对cpu而言,凡是对cpu进行数据输出的都是输出设备。按照使用特性进行分类存储设备:U盘,内存,磁盘交互IO设备:键盘,鼠标,显示器按信息交换的单位进行分类块设备:磁盘,SD卡字符设备:打印机,shell终端按设备的共享属性进行分类:独占设备,共享设备,虚拟设备按照传输速率进行分类:低速设备,中速设备,高速设备IO设备的缓冲区缓冲区可以减少cpu处理IO设备请求的频率,还可以提高cpu与IO设备之间的并行性。专用缓

2021-01-04 23:24:01 117

原创 小白日记: 操作系统之linux的文件系统

FAT使用一张表来保存盘块的信息。NTFS他是WindowsNT环境的系统文件。他对FAT进行了改进,取代了旧的文件系统。EXT(extended file system):扩展文件系统他是linux的文件系统,window不能识别他。EXT文件系统分为两个区域,第一个是启动扇区,用于安装开机管理程序。第二个部分是链组,用于存储数据。链组里面有一个区域叫Inode,每一个文件都有Inode,这是每一个文件的索引节点。Inode包含文件类型,文件权限,文件物理地址,文件长度,文件连接计数,等文

2020-12-28 11:33:20 110

原创 小白日记:操作系统之linux文件的基本操作

1. linux目录在根目录下,有许多重要的目录。比如:bin目录是存放可执行的二进制文件的,etc存放的是配置文件,home目录是用户文件的根目录,是用户的主目录,dev是设备文件。绝对路径:绝对路径就是就是从根目录开始到我们的目标文件的路径相对路径:相对路径就是从上一个文件夹到目标文件就算,是不固定的。2. linux文件类型普通文件(-)目录文件(d)符号链接(I)设备文件(b)(块设备)设备文件(c)(字符设备)FIFO(p)套接字(s)...

2020-12-25 22:06:43 112

原创 小白日记:操作系统的文件管理

文件的逻辑结构文件可以按照逻辑结构分为两种类型:有结构文件与无结构文件有结构文件:文本文件,文档(ppt, excle等),多媒体文件(图片视频等),直白来讲就是人类可以阅读的。文件内容由定长记录和可变长记录组成,定长记录就是用于存储文件格式,文件描述等固定的数据项。可变长记录用于存储文件的具体内容。无结构文件:二进制文件,链接库,直白来讲就是人类看不懂的。无结构文件也称为流式文件,文件的内容以字节为单位,比如exe文件以及dll文件,so文件。顺序文件顺序文件指得就是按顺序存放在存储介质中的

2020-12-17 23:29:29 136

原创 小白日记:操作系统之linux的存储管理

Buddy内存管理算法此算法是基于计算机处理二进制的优势之上的,使得这个算法具有极高的效率。这个算法主要是为了解决内存外碎片的问题的。页内碎片我们前面已经提到了,就是已经被分配出去的内存空间大于我们存储那个进程所需的空间,这样就会导致我们用来放这个进程的空间有所盈余,而这个盈余如果不能再次被利用的话,这个剩余的空间就叫内部碎片。外部碎片是指还没有被分配出去但是他的大小与申请分配内存的进程不符合,因此无法分配给申请内存空间的新内存。这就是页外碎片,有没有被分配,是一个重要的判断条件。这个算法的核心就是

2020-12-09 22:28:14 103

原创 小白日记:存储管理之虚拟内存

虚拟内存概述他会把程序使用的内存进行划分,将部分暂时不使用的内存放置在辅存当中。程序的局部性原理是指cpu访问存储器时,无论是存取指令还是存取数据,访问的所有存储单元都聚集于一个较小的连续区域中。因为有这个原理,所以在程序运行时,程序无需全部装载在内存中,如果内存中没有要访问的部分,那么就从辅存中调换。虚拟内存是对物理内存的补充,速度接近于内存,成本接近于辅存。虚拟内存中的算法先进先出算法(FIFO)最不经常使用算法(LFU)最近最少使用算法(LRU)在主存缺少我们所需的页面时,就需要从

2020-12-07 23:01:24 90

原创 小白日记:操作系统之存储管理的段页式存储管理

也就是操作系统是如何管理进程的空间的。页式存储管理物理设备(内存条)中的一部分内存就用字,字块来定义,每一个字块的大小相同。逻辑空间中的内存的一部分就用页面来定义,每一个页面的大小也相同。而在我们将进程的逻辑空间等分成若干个大小一样的页面的时候,则相应的我们也将物理内存空间等分为了若干个物理块。然后我们以页面为单位,将进程的内存装入物理内存中分散的物理块中。我们在使用页式存储管理时,应该将页分配的大小适中,太大不好分,太小会造成内存碎片过多。通常是512B到8K。我们可用通过页表来了解我们的进程

2020-09-30 21:57:22 275

原创 小白日记:存储管理之内存分配与回收

存储管理的三个目的 确保计算机有足够的内存来处理数据。 确保计算机可以在所有内存中拿来一部分内存使用。 确保程序可以归还使用完了的内存,让其他程序接着用。内存分配地方法 单一连续分配:这是最简单的内存分配方式,他只能在单用户,单进程的操作系统中使用。把内存分为系统区和用户区,系统区给系统,用户区给用户使用这种分配方式已过时。 固定分区分配方法:固定分区方法是支持多道程序的最简单的方法,就是将内存分为若干个固定大小的区域,每个分区只给一个程序使用,所有程序互不干扰。..

2020-09-15 23:13:47 310

原创 小白日记:作业管理之死锁

概念 死锁是指两个或两个以上的进程在执行中,因为对于资源的争夺或者由于互相通信有问题的原因。陷入了一种在没有外力介入的情况下一直互相遏制到地老天荒的情况。 就如同前面的文章中举的哲学家的例子,所有的哲学家都不愿意放下手中的筷子给别人用,所以大家只能一起饿死。就像两头倔牛撞在了一起一样,谁也不肯退后一步。死锁的产生 进程之间互相竞争资源:举一个例子,A进程已经控制了传真机,B进程已经控制了打印机,A进程等待打印机的资源被释放,B进程等待传真机的资源被释放。都在等待..

2020-09-04 13:02:48 137

原创 小白日记:作业管理之进程调度

进程调度概述进程调度是指计算机通过决策决定哪个进程优先使用就绪状态的进程可以获得cpu使用权,之所以有这个制度,也是因为在多道程序设计的环境下,计算机要对先让哪个进程运行,后让哪个程序运行作出选择,要不然就程序就乱套了。进程调度有两个步骤,第一步我们需要将旧进程的运行信息保留,确保信息不会丢失。然后将旧进城请出运行环境。第二步就是选择好需要运行的进程,准备好他需要的运行那个环境并为他分配好cpu。就绪队列的排队机制将就绪队列按照一定的顺序排成队列,以便程序可以用最短的时间找到就绪队列。选..

2020-08-28 21:49:30 179

原创 小白日记:操作系统之Linux的进程管理

linux进程的相关概念进程的类型 前台进程 前台进程就是占用终端shell,可以和用户进行交互的进程。 后台进程 没有占用终端,和用户之间没有交互,优先级比前台进程低,以end为结尾。 守护进程 守护进程是特殊的后台进程,一般在系统开始运行时就存在并开始运行,一直运行到系统结束运行。名字的末尾会以d结尾。一般都是初始进程的子进程。进程的标记 进程的ID是每个进程唯一的标记,就和身份证一样。ID为一个非负整数

2020-08-27 13:58:53 144

原创 小白日记:进程管理之进程同步

为什么需要进程间的同步因为如果没有进程间的同步,那么程序在运行时就会变得混乱,比如说工厂生产出一个手机,你取一个没问题,但是如果出现了连着取一个的情况,就会出现问题了。因为进 程不配套,整个生产线就乱套了。再比如说,有五个哲学家进餐,他们一人面前放着一个碗,它们的右边都放着一根筷子,一个哲学家饿了就会拿起左右各一根筷子吃饭。那 么5个人都饿时,就会出现五个人都拿着一根筷子的情况,就都会饿死。说白了就是在没有统筹安排的情况下所有进程乱运一气,程序就会出错。进程间同步的原则 临界资源就是那

2020-08-25 14:58:57 90

原创 小白日记:进程管理之五状态模型

就绪状态在进程获得除了cpu资源以外的所有资源的情况下,只需要cpu资源到位就可以运行的情况叫做就绪状态。在一个系统中通常有多个并发执行,所以所有处于就绪状态的进程会排成一个队列,这个队列就被称为就绪队列。如果cpu只有一个核的话,那么在某一个时刻只能有一个进程是处于运行状态的。多核就可以并行多个进程。阻塞状态进程因为某种原因,在运行过程中无法继续执行,从而不得不放弃cpu资源的状态叫做阻塞状态。与上面的就绪队列一样,多个阻塞队列也会构成一个阻塞队列。运行状态就是进程在获得了运行所需..

2020-08-23 20:50:29 348

原创 小白日记:操作系统之进程实体(学习大神所得,记个笔记,请勿打赏)

为什么需要进程? 在没有操作系统之前,只能运行一个程序。不能同时运行多个程序,对于资源很是浪费。所以在有操作系统后,我们引入了进程这个概念,以此来提高资源的利用率。 进程是系统进行资源分配以及调度的最基本单位。 进程在多道程序同时在同一个物理设备运行的时候,起到了对这些程序进行隔离的作用,以此来保障这些程序正常运行。 进程能使计算机的资源得到更合理的运用,大幅提高资源利用率。进程的实体主存中的进程形态 在主存中,进程是一段连续存储的空间,名字叫进程控制快。

2020-08-22 18:15:42 342

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除