目录
一、应用层知识点
1.1DNS协议
(一)是什么?
- 即负责网络域名(点分英文式网址:如www.gzhu.edu.cn)到IP地址的解析的分布式系统。则运行该系统的服务器称为域名服务器。
- 域名结构:层次树状结构。(如… . 三级域名 . 二级域名 . 顶级域名)注意:l域名中的“点”和点分十进制 IP 地址中的“点”并无一一对应的关系。点分十进制 IP 地址中一定是包含三个“点”,但每一个域名中“点”的数目则不一定正好是三个。
- 通用顶级域名:.cn中国、.us美国 .uk英国 .com公司和企业 .net网络服务机构 .org非营利性组织 .edu 教育机构 .gov政府部门 .mil美专用军事部门 .int国际组织等等。
- 域名服务器分类:根域名服务器、顶级域名服务器、权限域名服务器、本地域名服务器。
(二)域名到IP地址的解析过程
- l主机向本地域名服务器的查询一般都是采用递归查询。如果主机所询问的本地域名服务器不知道被查询域名的 IP 地址,那么本地域名服务器就以 DNS 客户的身份,向其他根域名服务器继续发出查询请求报文。
- l本地域名服务器向根域名服务器的查询通常是采用迭代查询。当根域名服务器收到本地域名服务器的迭代查询请求报文时,要么给出所要查询的 IP 地址,要么告诉本地域名服务器:“你下一步应当向哪一个域名服务器进行查询”。然后让本地域名服务器进行后续的查询。
- 现实中采用的是递归查询和迭代查询相结合的方法。如下图:
1.2 FTP协议(文件传送协议)
(一)概述--是什么?
- 互联网上使用得最广泛的文件传送协议。
- 提供交互式的访问,允许客户知名文件的类型与格式,文件具有存取权限。
- 屏蔽了各计算机系统的细节,适合在异构网络中任意计算机之间传送文件。
(二)基本工作原理
- FTP特点:只提供文件传送的一些基本服务,使用TCP可靠的运输服务;使用客户服务器方式;FTP服务器进程包括主进程(负责接收新请求)和若干从属进程(负责处理单个请求)。
- 主进程的工作步骤:打开21端口 —>等待客户进程发出连接请求 —>启动从属进程处理收到的请求—>回到等待状态,继续接收新请求
- FTP工作需要两个连接:控制连接(会话期间一直保持打开,但不用于传送文件,21端口);数据连接(用来连接客户端和服务器端的数据传送进程,20端口)
1.3TELNET远程终端协议
(一)是什么?
- 一个简单的远程终端协议。
- 用户用该协议就可以在本地通过TCP连接到远地主机。
(二)工作方式(客户--服务器方式)
- 现在由于 PC 的功能越来越强,用户已较少使用 TELNET 了。
- TELNET 也使用客户服务器方式。在本地系统运行 TELNET 客户进程,而在远地主机则运行 TELNET 服务器进程。
- 和 FTP 的情况相似,服务器中的主进程等待新的请求,并产生从属进程来处理每一个连接。
1.4万维网www
(一)概述
- 万维网是分布式超媒体 (hypermedia) 系统,它是超文本 (hypertext) 系统的扩充。
- 一个超文本由多个信息源链接成。利用一个链接可使用户找到另一个文档。这些文档可以位于世界上任何一个接在互联网上的超文本系统中。超文本是万维网的基础。
- 超媒体与超文本的区别是文档内容不同。超文本文档仅包含文本信
- 息,而超媒体文档还包含其他表示方式的信息,如图形、图像、声音、动画,甚至活动视频图像。
- 万维网以客户 - 服务器方式工作。
- 万维网以客户 - 服务器方式工作。
- l在一个客户程序主窗口上显示出的万维网文档称为页面 (page)。
(二)URL统一资源定位符
URL一般格式:<协议>://<主机>:<端口>/<路径>,其中常用协议有--->FTP,HTTP,News;端口和路径部分有时候可以省略
(三)超文本传送协议HTTP
1)HTTP操作过程
每个万维网网点都有一个服务器进程,它不断地监听 TCP 的端口 80,以便发现是否有浏览器向它发出连接建立请求。
一旦监听到连接建立请求并建立了 TCP 连接之后,浏览器就向万维网服务器发出浏览某个页面的请求,服务器接着就返回所请求的页面作为响应。
最后,TCP 连接就被释放了。
在浏览器和服务器之间的请求和响应的交互,必须按照规定的格式和遵循一定的规则。这些格式和规则就是超文本传送协议 HTTP。HTTP 规定在 HTTP 客户与 HTTP 服务器之间的每次交互,都由一个 ASCII 码串构成的请求和一个类似的通用互联网扩充,即“类 MIME (MIME-like)”的响应组成。
HTTP 报文通常都使用 TCP 连接传送。
HTTP 使用了面向连接的 TCP 作为运输层协议,保证了数据的可靠传输。
HTTP 协议本身也是无连接的,虽然它使用了面向连接的 TCP 向上提供的服务。
HTTP 是面向事务的客户服务器协议。
HTTP 1.0 协议是无状态的 (stateless)。
持续连接:l万维网服务器在发送响应后仍然在一段时间内保持这条连接,使同一个客户(浏览器)和该服务器可以继续在这条连接上传送后续的 HTTP 请求报文和响应报文。
2)代理服务器(万维网高速缓存)
- 万维网高速缓存把最近的一些请求和响应暂存在本地磁盘中。
- 当与暂时存放的请求相同的新请求到达时,万维网高速缓存就把暂存的响应发送出去,而不需要按 URL 的地址再去互联网访问该资源。
- 使用高速缓存可减少访问互联网服务器的时延
3)HTTP报文结构
- 报文类型:请求报文(客户端到服务器端);响应报文(服务器到客户端)
- 请求报文结构
方法:option请求一些选项的信息;get请求读取有URL标志的信息;head请求读取URL标志的信息的首部;post给服务器添加信息;put在指明的URL下存储一个文档;delete删除指明的URL标志的资源;trace用来进行环回测试的请求报文;connect用于代理服务器
- 响应报文
4)服务器存放用户的信息
- 万维网站点可以使用 Cookie 来跟踪用户。
- Cookie 表示在 HTTP 服务器和客户之间传递的状态信息。
- 使用 Cookie 的网站服务器为用户产生一个唯一的识别码。利用此识别码,网站就能够跟踪该用户在该网站的活动。
(四)万维网文档
1)超文本标记语言HTML:
- 仅当 HTML 文档是以 .html 或 .htm 为后缀时,浏览器才对此文档的各种标签进行解释。
- 如 HTML 文档改换以 .txt 为其后缀,则 HTML 解释程序就不对标签进行解释,而浏览器只能看见原来的文本文件。
- 当浏览器从服务器读取 HTML 文档后,就按照 HTML 文档中的各种标签,根据浏览器所使用的显示器的尺寸和分辨率大小,重新进行排版并恢复出所读取的页面。
2)动态万维网文档
- 静态文档是指该文档创作完毕后就存放在万维网服务器中,在被用户浏览的过程中,内容不会改变。
- 动态文档是指文档的内容是在浏览器访问万维网服务器时才由应用程序动态创建。
- 动态文档和静态文档之间的主要差别体现在服务器一端。这主要是文档内容的生成方法不同。而从浏览器的角度看,这两种文档并没有区别。
3)活动万维网文档
- 活动文档 (active document) 技术把所有的工作都转移给浏览器端。
- 每当浏览器请求一个活动文档时,服务器就返回一段程序副本在浏览器端运行。
- 活动文档程序可与用户直接交互,并可连续地改变屏幕的显示。
- 由于活动文档技术不需要服务器的连续更新传送,对网络带宽的要求也不会太高。
(五)万维网的信息检索系统
1)全文检索搜索:通过搜索软件到互联网上的各网站收集信息,找到一个网站后可以从这个网站再链接到另一个网站。然后按照一定的规则建立一个很大的在线数据库供用户查询。
2)分类目录搜索:并不采集网站的任何信息,而是利用各网站向搜索引擎提交的网站信息时填写的关键词和网站描述等信息,经过人工审核编辑后,如果认为符合网站登录的条件,则输入到分类目录的数据库中,供网上用户查询。
1.5电子邮件
1)重要标准:
![](https://i-blog.csdnimg.cn/blog_migrate/1976ceb0331251ada1666efb485f20f4.png)
2)三个主要构件:
用户代理:即客户端软件。具有撰写、显示、处理和通信的功能
邮件服务器:发送和接收邮件,同时还要向发信人报告邮件传送的情况(C/S方式工作)
邮件发送及读取协议:;发送时采用SMPT(从用户代理向邮件服务器或者服务器之间发送邮件),读取时采用POP3(用于用户代理从服务器读取邮件)注意:lSMTP和POP3(或IMAP)都是使用TCP连接来传送邮件的,目的是为了可靠地传送邮件。
发送和接收电子邮件的步骤:
4.发送方邮件服务器的 SMTP 客户与接收方邮件服务器的 SMTP 服务器建立 TCP 连接,然后就把邮件缓存队列中的邮件依次发送出去。
5.运行在接收方邮件服务器中的SMTP服务器进 程收到邮件后,把邮件放入收件人的用户邮箱中,等待收件人进行读取。
6.收件人在打算收信时,就运行PC机中的用户代理,使用POP3(或 IMAP)协议读取发送给自己的邮件。
3)基于万维网的电子邮件
用户代理 (UA) 的缺点:
优点:
- 不需要在计算机中再安装用户代理软件。
- 计算机能联网,就能非常方便地收发电子邮件。
- 电子邮件界面非常友好。
4)通用互联网邮件扩充MIME
SMTP 有以下缺点:
- SMTP 不能传送可执行文件或其他的二进制对象。
- SMTP 限于传送 7 位的 ASCII 码。许多其他非英语国家的文字(如中文、俄文,甚至带重音符号的法文或德文)就无法传送。
- SMTP 服务器会拒绝超过一定长度的邮件。
- 某些 SMTP 的实现并没有完全按照 SMTP 标准。
MIME主要包括三部分:
- 5 个新的邮件首部字段,它们可包含在原有首部中。这些字段提供了有关邮件主体的信息。
- 定义了许多邮件内容的格式,对多媒体电子邮件的表示方法进行了标准化。
- 定义了传送编码,可对任何内容格式进行转换,而不会被邮件系统改变。
1.6动态主机配置协议DHCP
1)概述
- 互联网广泛使用的动态主机配置协议 DHCP (Dynamic Host Configuration Protocol) 提供了即插即用连网 (plug-and-play networking) 的机制。
- 这种机制允许一台计算机加入新的网络和获取 IP 地址,而不用手工配置。
- DHCP给运行服务器软件、且位置固定的计算机指派一个永久地址,给运行客户端软件的计算机分配一个临时地址。
2)DHCP使用客户-服务器方式
- 需要 IP 地址的主机在启动时就向 DHCP 服务器广播发送发现报文
- (DHCPDISCOVER),这时该主机就成为 DHCP 客户。
- 本地网络上所有主机都能收到此广播报文,但只有 DHCP 服务器才回答此广播报文。
- DHCP 服务器先在其数据库中查找该计算机的配置信息。若找到,则返回找到的信息。若找不到,则从服务器的 IP 地址池 (address pool) 中取一个地址分配给该计算机。DHCP服务器的回答报文叫做提供报文(DHCPOFFER)。
3)DHCP工作方式
- DHCP 使用客户-服务器方式,采用请求/应答方式工作。
- DHCP 基于 UDP 工作,DHCP 服务器运行在 67 号端口, DHCP客户运行在 68 号端口。
4)租用期
- DHCP 服务器分配给 DHCP 客户的 IP 地址的临时的,因此 DHCP 客户只能在一段有限的时间内使用这个分配到的 IP 地址。DHCP 协议称这段时间为租用期。
- 租用期的数值应由 DHCP 服务器自己决定。
- DHCP 客户也可在自己发送的报文中(例如,发现报文)提出对租用期的要求。
二、进程的描述与控制
2.1进程的基本概念
1)定义:程序在并发环境中 的执行过程;操作系统资源分配和独立运行的基本单位。
2)进程的特征
- 结构特征
- PCB:动态特征的集中反映
- 程序段:描述要完成的功能
- 数据段:操作对象及工作区
- 动态性:进程由创建而产生,由调度而执行,由撤销而消亡的过程
- 并发性:n多个进程同在内存中,且能在一段时间内同时运行。
- 独立性:进程是一个能独立运行、独立分配资源、独立接受调度的基本单位。
- 异步性:n进程按各自独立的、不可预知的速度向前推进。
2.2进程与程序的区别
(1)进程是一个动态概念,程序是一个静态概念。
(2)进程具有并行特征,程序没有。
(3)进程是竞争资源的基本单位
(4)一个程序对应多个进程,一个进程为多个程序服务。
2.3进程控制
1)基本状态:
就绪状态 n进程已经分配了除处理机以外的所有必要资源,只要再获得处理机就能够执行的状态。
执行状态 已经获得CPU,正在运行。在单处理机系统只有一个进程处于执行状态。多处理机系统则有多个处于执行状态。
阻塞状态 正在执行的进程由于发生某事件而暂时无法继续执行时,放弃处理机而进入的状态,又称等待状态。引起阻塞的事件:请求I/O,申请缓存。
挂起状态 n引入原因:(1)终端用户请求(2)父进程请求(3)负荷调节需要(4)操作系统的需要
2)PCB
概述:
- PCB是OS中最重要的记录型结构。
- OS用PCB对并发进程进行管理和控制。
- PCB是进程存在的唯一标志。
- PCB常驻内存。
- OS专门开辟PCB区将所有的PCB组织成若干个链表或队列。
PCB中的信息
(1)进程标识符
- 内部标识符 : 进程唯一的数字编号,给OS使用。
- 外部标识符: 由字母、数字组成,给用户使用。
(2)处理机状态
- 通用寄存器 8-32个,暂存信息用
- 指令计数器 要访问的下一条指令地址
- 程序状态字PSW 条件码、执行方式、
- 中断屏蔽标志
- 用户栈指针 用户进程拥有的系统栈,存放过程和系统调用参数及调用地址。
(3)进程调度信息
- 进程状态
- 进程优先级
- 与调度算法有关信息
- 事件 如:阻塞原因
(4)进程控制信息
- 程序和数据地址
- 进程同步和通信机制
- 资源清单:除CPU之外的所需资源与已经分配资源清单
- 链接指针:本进程PCB所在队列的下一个地址。
PCB的组织方式
(1)链接方式
把统一状态的PCB,用其中的链接字链接成一个队列。如:就绪队列、阻塞队列(根据不同阻塞原因)、空白队列。
(2)索引方式
建立就绪索引表、阻塞索引表等。把索引表在内存的首地址放在内存的专用单元中。
进程控制
1)引起创建进程的事件:用户登录,作业调度,提供服务,应用请求
2)进程创建步骤:申请空白PCB-->为新进程分配资源-->初始化PCB-->将新进程插入就绪队列
3)进程终止过程
- 从PCB集合中检索出该进程的PCB,从中读出该进程的状态。
- 若处于执行状态,终止该进程的执行,并置调度标志为真,重新调度。
- 若有子孙进程,将所有子孙进程终止。
- 将进程全部资源归还其父进程或系统。
- 将其PCB从所在队列(或链表)中移出
4)引起阻塞和唤醒的事件:请求系统服务,启动某种操作,新数据未到达,无新工作可做
- 阻塞过程:保存当前进程的CPU现场,设置进程状态,进入等待队列,转进程调度
- 唤醒过程:从等待队列中摘下被唤醒进程-->置该进程为就绪太-->进入就绪队列-->转进程调度或返回
2.4进程同步
临界资源:一次仅允许一个进程使用的共享资源,如打印机,磁带机,表格
临界区:在每个进程中访问临界资源的那段程序,进程必须互斥进入临界区
同步机制遵循的原则:空闲让进,忙则等待,有限等待,让权等待
同步机制:信号量机制
- 整型信号量:一个用于表示资源数目的整形量S,通过wait(S)和signal(S)原语来访问,S大于零时表示仍有资源可以使用,S<=0时表示已经没有资源可用,wait操作会一直测试。
- 记录型信号量:除了需要一个用于代表资源数目的整形变量value外,还应增加一个进程链表指针list,用于连接上述的所有等待进程;value>0表示系统中某类资源的数目,value<=0表示系统中等待使用资源的进程个数。
- AND型信号量:将进程在整个运行过程中需要的所有资源,一次性全部分配给进程,待使用完后再一起释放。
2.5进程通信
通信类型
- 低级通信 : 交换少量数据的通信,如进程的同步和互斥和基于共享数据结构的通信方式。
- 高级通信:交换大量数据的通信,如基于共享存储区的通信方式,管道通信系统,消息传递系统以及客户机-服务器系统
消息传递通信的实现方式
1)直接消息传递系统
- 直接通信原语 ---- 对称寻址方式send(receiver,message),receive(sender,message);非对称寻址方式 send(P,message),receive(id,message)
- 消息的格式
- 进程的同步方式
- 通信链路
2)信箱通信(间接通信)
- 信箱的结构 逻辑上包括信箱头和信箱体
- 信箱的通信原语
- 信箱的类型 私用邮箱,公用邮箱,共享邮箱
2.6线程
2.6.1基本概念
- 进程:使多个程序能并发执行,以提高资源利用率和系统吞吐量
- 引入线程,是为了减少程序在并发执行时所付出的时空开销,使OS具有更好的并发性
- 进程是可拥有资源的独立单位和可独立调度和分派的基本单位。
- 创建、撤消和切换中,系统必须为之付出较大的时空开销。故进程,其数目不宜过多,进程切换的频率也不宜过高。
- 进程不应同时作为拥有资源的单位和可独立调度和分派的基本单位,应该“轻装上阵”;
- 线程属性:1)轻型实体。线程中的实体基本上不拥有系统资源 2)独立调度和分派的基本单位。 线程的切换非常迅速、开销小 3)可并发执行。4)共享进程资源。
2.6.2线程与进程的比较
1)调度的基本单位
引入线程后,独立调度和分派的基本单位由进程变成了线程;同一进程中的线程切换不会引起进程的切换,不同进程的线程切换必然引起进程切换
2)并发性 不仅进程间可以并发,而且在同一进程中的多个线程之间也可以并发。
3)拥有资源
进程是系统进行资源分配的基本单位,而线程不拥有系统资源,但是每个线程仍然可以拥有一些必须 的资源,如TCB,程序计算器,保留局部变量,少数状态参数和返回地址等等。属于同一进程的线程都具有相同的地址空间。
4)独立性 同一进程中的线程间的独立性比不同进程间的独立性更低。
5)系统开销 线程切换的开销远比进程切换的开销要低
6)支持多处理机系统
2.6.3TCB结构
- 线程标识符
- 一组寄存器
- 线程运行状态
- 优先级
- 线程专有存储区
- 信号屏蔽
- 堆栈指针