操作系统 网络方面知识点

来源:互联网 发布:常州老年大学网络报名 编辑:程序博客网 时间:2024/06/06 14:08
1. 堆和栈的区别:
  一、堆栈空间分配区别:
  1、栈(操作系统):由操作系统自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈;
  2、堆(操作系统): 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收,分配方式倒是类似于链表。
  二、堆栈缓存方式区别:
  1、栈使用的是一级缓存, 他们通常都是被调用时处于存储空间中,调用完毕立即释放;
  2、堆是存放在二级缓存中,生命周期由虚拟机的垃圾回收算法来决定(并不是一旦成为孤儿对象就能被回收)。所以调用这些对象的速度要相对来得低一些。
  三、堆栈数据结构区别:
  堆(数据结构):堆可以被看成是一棵树,如:堆排序;
  栈(数据结构):一种先进后出的数据结构。

2. (1)OSI七层模型

  OSI中的层 功能 TCP/IP协议族

  应用层 文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet

  表示层 数据格式化,代码转换,数据加密没有协议

  会话层 解除或建立与别的接点的联系 没有协议

  传输层 提供端对端的接口 TCP,UDP

  网络层 为数据包选择路由 IP,ICMP,RIP,OSPF,BGP,IGMP

  数据链路层 传输有地址的帧以及错误检测功能 SLIP,CSLIP,PPP,ARP,RARP,MTU

  物理层 以二进制数据形式在物理媒体上传输数据 ISO2110,IEEE802,IEEE802.2

(2)TCP/IP五层模型的协议

  物理层:中继器、集线器、还有我们通常说的双绞线也工作在物理层

  数据链路层:网桥(现已很少使用)、以太网交换机(二层交换机)、网卡(其实网卡是一半工作在物理层、一半工作在数据链路层)

  网络层:路由器、三层交换机

  传输层:四层交换机、也有工作在四层的路由器

(3)TCP/UDP协议

  TCP (Transmission Control Protocol)和UDP(User Datagram Protocol)协议属于传输层协议。其中TCP提供IP环境下的数据可靠传输,它提供的服务包括数据流传送、可靠性、有效流控、全双工操作和多路复用。通过面向连接、端到端和可靠的数据包发送。通俗说,它是事先为所发送的数据开辟出连接好的通道,然后再进行数据发送; 而UDP则不为IP提供可靠性、流控或差错恢复功能。一般来说,TCP对应的是可靠性要求高的应用,而UDP对应的则是可靠性要求低、传输经济的应用。TCP支持的应用协议主要 有:Telnet、FTP、SMTP等;UDP支持的应用层协议主要有:NFS(网络文件系统)、SNMP(简单网络管理协议)、DNS(主域名称系 统)、TFTP(通用文件传输协议/简单文件传输协议)等.

  TCP/IP协议与低层的数据链路层和物理层无关,这也是TCP/IP的重要特点。

附表:tcp协议和udp协议的差别 TCPUDP是否连接面向连接面向非连接传输可靠性可靠不可靠应用场合传输大量的数据,对可靠性要求较高的场合传送少量数据、对可靠性要求不高的场 景速度慢快

3. 概念:

无论是在批处理系统还是分时系统中,用户进程数一般都多于处理机数、这将导致它们互相争夺处理机。另外,系统进程也同样需要使用处理机。这就要求进程调度程序按一定的策略,动态地把处理机分配给处于就绪队列中的某一个进程,以使之执行。

2、进程的四个基本属性:

  1.多态性 从诞生、运行,直至消灭。
   
  2.多个不同的进程可以包括相同的程序
 
  3.三种基本状态 它们之间可进行转换
 
  4.并发性 并发执行的进程轮流占用处理器

3、进程的三种基本状态:

1.等待态:等待某个事件的完成;
 
  2.就绪态:等待系统分配处理器以便运行;
 
  3.运行态:占有处理器正在运行。
 
  运行态→等待态 往往是由于等待外设,等待主存等资源分配或等待人工干预而引起的。
 
  等待态→就绪态 则是等待的条件已满足,只需分配到处理器后就能运行。
 
  运行态→就绪态 不是由于自身原因,而是由外界原因使运行状态的进程让出处理器,这时候就变成就绪态。例如时间片用完,或有更高优先级的进程来抢占处理器等。
 
  就绪态→运行态 系统按某种策略选中就绪队列中的一个进程占用处理器,此时就变成了运行态

4、进程调度的方式:

非剥夺方式

  分派程序一旦把处理机分配给某进程后便让它一直运行下去,直到进程完成或发生 
 
某事件而阻塞时,才把处理机分配给另一个进程。

剥夺方式

  当一个进程正在运行时,系统可以基于某种原则,剥夺已分配给它的处理机,将之分配给其它进程。剥夺原则有:优先权原则、短进程优先原则、时间片原则。
 
  例如,有三个进程P1、P2、P3先后到达,它们分别需要20、4和2个单位时间运行完毕。
 
  假如它们就按P1、P2、P3的顺序执行,且不可剥夺,则三进程各自的周转时间分别为20、24、
 
  26个单位时间,平均周转时间是23.33个时间单位。
 
  假如用时间片原则的剥夺调度方式,可得到:
 
  可见:P1、P2、P3的周转时间分别为26、10、6个单位时间(假设时间片为2个单位时间),平均周转时间为14个单位时间。
 
  衡量进程调度性能的指标有:周转时间、响应时间、CPU-I/O执行期。

5、进程调度算法:

1、先进先出算法(FIFO)

  算法总是把处理机分配给最先进入就绪队列的进程,一个进程一旦分得处理机,便一直执行下去,直到该进程完成或阻塞时,才释放处理机。
 
  例如,有三个进程P1、P2和P3先后进入就绪队列,它们的执行期分别是21、6和3个单位时间,
 
  执行情况如下图:
 
  对于P1、P2、P3的周转时间为21、27、30,平均周转时间为26。
 
  可见,FIFO算法服务质量不佳,容易引起作业用户不满,常作为一种辅助调度算法
 

2、最短CPU运行期优先调度算法(SCBF--Shortest CPU Burst First)

 
  该算法从就绪队列中选出下一个“CPU执行期最短”的进程,为之分配处理机。
 
  例如,在就绪队列中有四个进程P1、P2、P3和P4,它们的下一个执行 
  

进程调度

期分别是16、12、4和3个单位时间,执行情况如下图:
 
  P1、P2、P3和P4的周转时间分别为35、19、7、3,平均周转时间为16。
 
  该算法虽可获得较好的调度性能,但难以准确地知道下一个CPU执行期,而只能根据每一个进程的执行历史来预测。

3、时间片轮转法:

  前几种算法主要用于批处理系统中,不能作为分时系统中的主调度算法,在分时系统中,都采用时间片轮转法。
 
  简单轮转法:系统将所有就绪进程按FIFO规则排队,按一定的时间间隔把处理机分配给队列中的进程。这样,就绪队列中所有进程均可获得一个时间片的处理机而运行。

4、多级反馈队列:

 
  多级队列方法:将系统中所有进程分成若干类,每类为一级。 多级反馈队列方式是在系统中设置多个就绪队列,并赋予各队列以不同的优先权。

6、引起进程调度的原因:

进程调度发生在什么时机呢?这与引起进程调度的原因以及进程调度的方式有关。
 
  (1)正在执行的进程执行完毕。这时,如果不选择新的就绪进程执行,将浪费处理机资源。
 
  (2)执行中进程自己调用阻塞原语将自己阻塞起来进入睡眠等状态。
 
  (3)执行中进程调用了P原语操作,从而因资源不足而被阻塞;或调用了v原语操作激活了等待资源的进程队列。
 
  (4)执行中进程提出I/O请求后被阻塞。
 
  (5)在分时系统中时间片已经用完。
 
  (6)在执行完系统调用等系统程序后返回用户进程时,这时可看作系统进程执行完毕,从而可调度选择一新的用户进程执行。
 
  以上都是在不可剥夺方式下的引起进程调度的原因。在CPU执行方式是可剥夺时.还有
 
  (7)就绪队列中的某进程的优先级变得高于当前执行进程的优先级,从而也将引发进程调度






 TCPUDP是否连接面向连接面向非连接传输可靠性可靠不可靠应用场合传输大量的数据,对可靠性要求较高的场合传送少量数据、对可靠性要求不高的场 景速度慢快

 

原创粉丝点击