牛客网 7-26网络基础 操作系统 编译与体系结构 30题知识点总结

来源:互联网 发布:matlab数组的转置 编辑:程序博客网 时间:2024/05/28 18:43

1、 在多道程序系统,进程需要等待某种事件的发生时,进程一定进入阻塞状态。(错 )

可能处在循环等我状态,比如进程在等待CPU时,就可能处于就绪状态。

 

2、 当计算机系统没有用户执行时,处理机完全处于空闲状态。(错)

不会处于空闲状态,会处于监听状态,一有请求立即响应!

 

3并发是并行的不同表述,其原理相同。(错)

并发与并行是两个不同的概念:

并发是指多个请求向服务器同时请求,服务器的响应过程是依次响应,或者轮转响应的;

并行是多个请求向多个服务器,各自服务各自的请求;

一定要注意区分这些细微的概念!

并发是同时执行不过微观上是串行的,并行是同时执行,但是是不同的处理器执行,网上有个例子是说并发是一个馒头喂两个人,并行是两个馒头喂两个人。

 

4系统的资源利用率越高用户越满意。(错)

用户体验与资源利用率没有直接的关系。

 

5、可重入函数可认为是可以被中断的函数,自动变量定义的时候才被创建,函数返回时,系统回收空间,不需要互斥量。可重入函数对全局变量才需要互斥量保护。

 

6某IP地址192.168.48.10,掩码为255.255.255.128,其所在的子网为(),广播地址为(),有效的主机IP地址范围从()到().

网络位为25  主机位为7

网络地址ip和子网掩码相与的192.168.48.0

广播地址等于网络地址的主机位的二进制为1= 192.168.48.127

有效的主机IP地址=网络地址+1   ----   广播地址-1

== 192.168.48.1到 192.168.48.126

例:

IP地址=192.168.127.101,子网掩码255.255.255.192,计算网络地址,主机号,广播地址和主机最大数

IP地址转换成二进制后为 11000000.10101000.011111111.01100101

子网掩码转换成二进制为11111111.11111111.11111111.11000000
地址段分别与运算后得   11000000.10101000.01111111.01000000
准换成十进制后为192.168.127.64
所以该计算机所处的网络地址为192.168.127.64/26
主机号就是除去网络号得部分即100101---->37
广播地址就是地址位全为1即11000000.10101000.011111111.01111111
转换成十进制后得192.168.127.127
能容纳的主机数量为2的6(主机地址位数)次方减2(网络地址和广播地址)=62

 

 

7、  语法分析的输入是一连串的 token( 词法分析的输出 ) ,根据语言的语法规则不断解析最后得到一棵抽象语法树 (AST, Abstract Syntax Tree) 负责语法分析模块通常也被叫做 Parser 。在词法分析中,我们经常使用正则表达式来表示语言所接受的 token 的规则,类似的,在语法分析中,我们使用文法 (Grammar) 来表示语言的语法规则

 

8数组A[0..4,-1..-3,5..7]中含有元素的个数()

三维数组,5*3*3=45 

 

9如果要将两计算机通过双绞线直接连接,正确的线序是?

一般网线两边头子是586B接线标准,特殊跳线一头是586B,另一头一头586A。
将两计算机通过双绞线直接连接就是一端是586A,一端是586B。
568A
标准:绿白,绿,橙白,蓝,蓝白,橙,棕白,棕 
568B
标准:橙白,橙,绿白,蓝,蓝白,绿,棕白,棕
568A
和568B的标准就是把 1 和3,2 和6 的顺序换过来了,其他不变。
两台电脑直联,一头接568A,一头接568B,8根线中4,5,7,8不用,只有橙白1,橙2,绿白3,绿6四根线传数据。
1
,2发数据,3,6接收数据,所以必须1,3相接,2,6相接,才能实现一头发数据,一头接收数据。

 

10TCP是面向连接的服务;三次握手(建立连接)和四次挥手(关闭连接);使用滑动窗口机制进行流量控制;TCP要保证在所有可能的情况下使得所有的数据都能够被投递,当你关闭一个socket时,主动关闭一端的socket将进入TIME_WAIT状态,而被动关闭一方则转入CLOSED状态,这的确能够保证所有的数据都被传输

1)首先A B端的TCP进程都处于established状态, 当A的应用程序传送完报文段,就会去 主动关闭 连接。A会停止发送报文段(但是还会接收),并向B发送[FIN = 1,seq=u]数据,之后进入FIN-WAIT-1状态;

2)B接收到A发送的请求之后,会通知应用进程A已经不再发送数据,B会向A发送ACK确认数据[ACK=1,seq=v,ack=u+1 ],B进入 CLOSE-WAIT状态,  A接收到B发送的数据之后,A进入FIN-WAIT-2状态此时A到B方的连接已经关闭了。

3)当B的应用进程发现自己也没有数据需要传送,B应用进程就会发出 被动关闭 的请求,B此时向A发送[FIN=1,ACK=1,seq=w,ack=u+1]数据,并且进入LAST-ACK状态;【所以D不对】

4)A接收到B发送的数据之后,向B发送确认数据[ACK =1,seq=u+1,ack=w+1],进入TIME-WAIT状态,等待2MSL之后关闭连接进入CLOSED状态;B接收到A发送的确认之后进入CLOSED状态。B到A方的连接关闭

 

11

一次只允许一个进程访问的资源叫做临界资源。也就是说可以被很多进程访问,共享性,但是一个时刻就只能有一个访问,互斥性。

 

12、 3次握手连接  和 4次握手断开


 

13、端口号和标准服务之间的对应关系在RFC 1700 "Assigned Numbers"中有详细的定义。“/etc/services”文件使得服务器和客户端的程序能够把服务的名字转成端口号,这张表在每一台主机上都存在。只有“root”用户才有权限修改这个文件,而且在通常情况下这个文件是没有必要修改的,因为这个文件中已经包含了常用的服务对应的端口号。

 

14因为UDP要达到TCP的功能就必须实现拥塞控制的功能,而且是在路由之间实现,这个在底层明显是做不到拥塞控制的,在应用层也是做不到的,因为应用层之间和应用程序挂钩,一般只能操控主机的程序,而表示层是处理所有与数据表示及运输有关的问题,包括转换、加密和压缩,在传输层是不可能的,因为你已经使用了UDP协议,无法在本层转换它,只有在会话层.

       会话层(SESSION LAYER)允许不同机器上的用户之间建立会话关系。会话层循序进行类似的 传输层 的普通数据的传送,在某些场合还提供了一些有用的增强型服务。允许用户利用一次会话在远端的分时系统上登陆,或者在两台机器间传递文件。会话层提供的服务之一是管理对话控制。会话层允许信息同时双向传输,或任一时刻只能单向传输。如果属于后者,类似于物理信道上的半双工模式,会话层将记录此时该轮到哪一方

 

 

15、静态重定位:即在程序装入内存的过程中完成,是指在程序开始运行前,程序中的各个地址有关的项均已完成重定位,地址变换通常是在装入时一次完成的,以后不再改变。

 

动态重定位即在程序运行过程中要访问数据时再进行逻辑地址与物理地址的变换(即在逐条指令执行时完成地址映射。

 

动态内存分配是指在程序执行的过程中动态地分配或者回收存储空间的分配内存的方法。动态内存分配不象数组等静态内存分配方法那样需要预先分配存储空间,而是由系统根据程序的需要即时分配,且分配的大小就是程序要求的大小。

 

内存的静态分配和动态分配的区别主要是两个:
一是时间不同。静态分配发生在程序编译和连接的时候。动态分配则发生在程序调入和执行的时候。
二是空间不同。堆都是动态分配的,没有静态分配的堆。

 

16、Cookie,有时也用其复数形式 Cookies ,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)。 简单来说,Cookies就是服务器暂时存放在你的电脑里的资料(.txt格式的文本文件),好让服务器用来辨认你的计算机。

 

17、在分区存储管理中,下面的()最有可能使得高地址空间变成为大的空闲区。

首次适应法:从空闲 分区表 的第一个表目起查找该表,把最先能够满足要求的空闲区分配给作业,这种方法目的在于减少查找时间。为适应这种算法,空闲分区表(空闲区链)中的空闲分区要按地址由低到高进行排序。该算法优先使用低址部分空闲区,在低址空间造成许多小的空闲区,在高 地址空间 保留大的空闲区。

最佳适应算法:从全部空闲区中找出能满足作业要求的、且大小最小的空闲分区的一种计算方法,这种方法能使碎片尽量小。

最坏适应分配算法:要扫描整个空闲分区或链表,总是挑选一个最大的空闲分区分割给作业使用。该算法要求将所有的空闲分区按其容量从大到小的顺序形成一空闲分区链,查找时只要看第一个分区能否满足作业要求。

循环首次适应算法: 该算法是首次适应算法的变种。在分配内存空间时,不再每次从表头(链首)开始查找,而是从上次找到空闲区的下一个空闲开始查找,直到找到第一个能满足要求的的空闲区为止,并从中划出一块与请求大小相等的内存空间分配给作业。该算法能使内存中的空闲区分布得较均匀。

 

18、

进程和线程的主要差别在于它们是不同的操作系统资源管理方式。进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,但在进程切换时,耗费资源较大,效率要差一些。但对于一些要求同时进行并且又要共享某些变量的并发操作,只能用线程,不能用进程

 

19、在一个采用页式虚拟存储管理的系统中,有一用户作业,它依次要访问的也没序列是1,2,3,4,1,2,5,1,2,3,4,5.假定分配给该作业的页数为3且作业初始时未装载页面,那么采用FIFO调度算法产生的缺页中断数为多少,采用LRU调度算法产生的缺页中断数为多少?

1,2,3,4,1,2,5,1,2,3,4,5  分配给该作业的页数为3 

 

FIFO 先进入内存的页面先被换出

 

1,2,3分别进入内存,123(3次缺页)

4进1出,234(4次缺页)

1进2出,341(5次)

2进3出,412(6次)

5进4出,125(7次)

内存有1

内存有2

3进1出,253(8次)

4进2出,534(9次)

内存有5

 

共9

 

--------------------------------------------------

LRU 最近最少使用的页面被先换出

1,2,3分别进入 123(3次)

4进,最近最少次数的1出,234(4次)

1进,最近最少次数的2出,341(5次)

2进,最近最少次数的3出,412(6)

5进,最近最少次数的4出,125(7)

内存有1,1被使用了两次

内存有2,2被使用了两次

3进,最近最少次数的5出,123(8次)

4进,最近最少次数的1出,234(9次)

5进,最近最少次数的2出,345(10次)

 

共10

 

20、根据程序执行的互斥性和局部性两个特点,我们允许作业装入的时候只装入一部分,另一部分放在磁盘上,当需要的时候再装入到主存,这样以来,在一个小的主存空间就可以运行一个比它大的作业。同时,用户编程的时候也摆脱了一定要编写小于主存容量的作业的限制。也就是说,用户的逻辑地址空间可以比主存的绝对地址空间要大。对用户来说,好像计算机系统具有一个容量很大的主存储器,称为“虚拟存储器

虚拟存储(Storage Virtualization)是指将多个不同类型、独立存在的物理存储体,通过软、硬件技术,集成转化为一个逻辑上的虚拟的存储单元,集中管理供用户统一使用。这个虚拟逻辑存储单元的存储容量是它所集中管理的各物理存储体的存储量的总和,而它具有的访问带宽则在一定程度上接近各个物理存储体的访问带宽之和。

通俗的说就是为了在内存空间中运行超过内存容量的作业,操作系统把当前使用的部分留在内存,而把其他部分保存在磁盘,并在需要时在内存和磁盘之间动态交换。 

       虚拟内存是计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间),而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。目前,大多数操作系统都使用了虚拟内存,如Windows家族的"虚拟内存";Linux的"交换空间"等。

虚存容量不是无限的,最大容量受内存和外存可利用的总容量限制 , 虚存搜索实际容量受计算机总线地址结构限制。

 

 

21、在分区分配方案中,回收一个分区时有几种不同的邻接情况,在各种情况下应如何处理?答:有四种:上邻,下邻,上下相邻,上下不相邻。 

(1)回收分区的上邻分区是空闲的,需要将两个相邻的空闲区合并成一个更大的空闲区,然后修改空闲区表。 

(2)回收分区的下邻分区是空闲的,需要将两个相邻的空闲区合并成一个更大的空闲区,然后修改空闲区表。 

(3)回收分区的上、下邻分区都是空闲的(空闲区个数为2),需要将三个空闲区合并成一个更大的空闲区(空闲区个数为1 ),然后修改空闲区表、 

(4)回收分区的上、下邻分区都不是空闲的,则直接将空闲区记录在空闲区表中。

 

 

22、在Bash

$# 是传给脚本的参数个数

$0 是脚本本身的名字

$1 是传递给该shell脚本的第一个参数

$2 是传递给该shell脚本的第二个参数$@ 是传给脚本的所有参数的列表

$* 是以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过9

$$ 是脚本运行的当前进程ID号$? 是显示最后命令的退出状态,0表示没有错误,其他表示有错误

$@表示当前进程的pid

 

23、Linux进程间通信:管道、信号、消息队列、共享内存、信号量、套接字(socket)

Linux线程间通信:互斥量(mutex),信号量,条件变量

Windows进程间通信:管道、消息队列、共享内存、信号量 (semaphore) 、套接字(socket)

Windows线程间通信:互斥量(mutex),信号量(semaphore)、临界区(critical section)、事件(event)

 

24、死锁的处理都有哪些方法?

鸵鸟策略
预防策略
避免策略
检测与解除死锁

 

25、

文件的物理结构不仅与外存的分配方式相关,还与存储介质的特性相关,通常在磁带上只适合使用顺序结构。
采用顺序结构的文件既适合进行顺序访问,也适合进行随机访问。
虽然磁盘是随机访问的设备,但其中的文件也可以使用顺序结构。

文件的存取方式取决于存储设备的类型和文件的物理结构,对磁盘设备,文件的物理结构为顺序文件,可以采用顺序,直接存取,索引存取;

磁盘上文件为链接文件,可以直接存取和索引存取; 对磁带设备,文件的物理结构只为顺序文件,文件只能采取顺序存取方式。

2 0
原创粉丝点击