笔试基础归纳-8.16(二)

2019-07-14 09:45发布

  • T1.进程控制块是描述进程状态和特性的数据结构,一个进程()
A 可以有多个进程控制块; B 可以和其他进程共用一个进程控制块; C 可以没有进程控制块; D 只能有惟一的进程控制块。 进程控制块(PCB)是由系统为每个进程分别建立的,用于记录对应进程的程序和数据的存储情况,记录进程的动态信息。PCB是一个进程存在的标志。系统根据PCB感知进程的存在,根据PCB中的信息对进程实施控制管理,当进程结束时,系统回收对应的PCB,进程随之消失。一个进程只有唯一的进程控制块,不可与其他进程共用一个进程控制块。
  • T2.在操作系统中,把逻辑地址变为内存的物理地址的过程称为()
A 编译; B 连接; C 运行; D 重定位。 编译:进行语法检查、函数分配空间,将各个函数编译成二进制码,按照特定目标文件格式生成目标文件。
连接:把程序中各个文件编译生成的目标文件连接起来,同时还要同系统提供的资源(如函数库)连接成为一个整体,得到可执行文件。
运行:执行连接好的程序。
重定位:把程序的逻辑地址空间变换成内存中的实际物理地址空间的过程,也就是说在装入时对目标程序中指令和数据的修改过程。
  • T3.某计算机系统中有 8 台打印机,由 K 个进程竞争使用,每个进程最多需要 3台打印机。该系统可能会发生死锁的 K 的最小值是()
A 2 B 3 C 4 D 5 答案为C。(注意如下的分析过程)由于每个进程最多需要使用3台打印机,可以先给每个进程分配2台打印机,最后在总的资源中减1个出来分配给一个进程就能避免死锁。所以用7/2=3.5,向下取整为3,所以最多使用3个进程不会发生死锁。所以发生死锁的最小值为4.
  • T4. 下面关于线程的叙述中,正确的是( )。
A 不论是系统支持线程还是用户级线程,其切换都需要内核的支持 B 线程是资源的分配单位,进程是调度和分配的单位 C 不管系统中是否有线程,进程都是拥有资源的独立单位 D 在引入线程的系统中,进程仍是资源分配和调度分派的基本单位 答案是C。
用户级线程,其切换不需要内核的支持。进程是拥有资源的基本单位。
内核支持线程是OS内核可感知的,而用户级线程是OS内核不可感知的。
用户级线程的创建,撤销和调度不需要OS内核的支持,是在语言如java这一级处理的,而内核支持线程的创建撤销和调度都需要OS内核提供支持,而且与进程的创建,撤销和调度大体是相同的。
  • T5.以下哪些进程状态转换是正确的()
A 就绪到运行 B 运行到就绪 C 运行到阻塞 D 阻塞到运行 E 阻塞到就绪 答案ABCE
这个题目属于知识遗忘。我们记住这个图
这里写图片描述 进程的基本状态: 1、就绪(Ready)状态
当进程已分配到除CPU以外的所有必要资源后,只要在获得CPU,便可立即执行,进程这时的状态就称为就绪状态。在一个系统中处于就绪状态的进程可能有多个,通常将他们排成一个队列,称为就绪队列。
2、执行状态
进程已获得CPU,其程序正在执行。在单处理机系统中,只有一个进程处于执行状态;再多处理机系统中,则有多个进程处于执行状态。
3、阻塞状态
正在执行的进程由于发生某事件而暂时无法继续执行时,便放弃处理机而处于暂停状态,亦即程序的执行受到阻塞,把这种暂停状态称为阻塞状态,有时也称为等待状态或封锁状态。
线程运行过程中,可能由于各种原因进入阻塞状态:
1>线程通过调用sleep方法进入睡眠状态;
2>线程调用一个在I/O上被阻塞的操作,即该操作在输入输出操作完成之前不会返回到它的调用者;
3>线程试图得到一个锁,而该锁正被其他线程持有;
4>线程在等待某个触发条件;
所谓阻塞状态是正在运行的线程没有运行结束,暂时让出CPU,这时其他处于就绪状态的线程就可以获得CPU时间,进入运行状态。 网络IP地址:
A类地址 ⑴ A类地址第1字节为网络地址,其它3个字节为主机地址。另外第1个字节的最高位固定为0。
⑵ A类地址范围:1.0.0.1到126.255.255.254。
⑶ A类地址中的私有地址和保留地址:
①10.0.0.0到10.255.255.255是私有地址(所谓的私有地址就是在互联网上不使用,而被用在局域网络中的地址)。
② 127.0.0.0到127.255.255.255是保留地址,用做循环测试用的。 B类地址 ⑴ B类地址第1字节和第2字节为网络地址,其它2个字节为主机地址。另外第1个字节的前两位固定为10。
⑵ B类地址范围:128.0.0.1到191.255.255.254。
⑶ B类地址的私有地址和保留地址
① 172.16.0.0到172.31.255.255是私有地址
②169.254.0.0到169.254.255.255是保留地址。如果你的IP地址是自动获取IP地址,而你在网络上又没有找到可用的DHCP服务器,这时你将会从169.254.0.0到169.254.255.255中临得获得一个IP地址。 C类地址⑴C类地址第1字节、第2字节和第3个字节为网络地址,第4个个字节为主机地址。另外第1个字节的前三位固定为110。
⑵ C类地址范围:192.0.0.1到223.255.255.254。
⑶ C类地址中的私有地址:192.168.0.0到192.168.255.255是私有地址。 常用端口整理:
http 80 https 443 FTP 20 21
 进行FTP文件传输中,客户端首先连接到FTP服务器的21端口,进行用户的认证,认证成功后,要传输文件时,服务器会开一个端口为20来进行传输数据文件。 也就是说,端口20才是真正传输所用到的端口,端口21只用于FTP的登陆认证。我们平常下载文件时,会遇到下载到99%时,文件不完成,不能成功的下载。其实是因为文件下载完毕后,还要在21端口再行进行用户认证,而下载文件的时间如果过长,客户机与服务器的21端口的连接会被服务器认为是超时连接而中断掉,就是这个原因。解决方法就是设置21端口的响应时间。 SMTP 25
  • T6.如果在一个建立了TCP连接的socket上调用recv函数,返回值为0,则表示()
A 对端发送了一段长度为0的数据 B 对端关闭了连接 C 还没有收到对端数据 D 连接发生错误 选B
对于TCP, 传输0字节数据的报文是正常的, 比如窗口探测报文, 纯ACK报文等。但是这个recv返回的值也是大于0的(因为传送的数据为0,还有报文的头部)。recv是用户user/TCP层面的调用, 而网络传输是TCP/lower network层面的行为. 网络传输了0字节数据的报文, 和recv到0字节的数据是两个完全无关的概念。如果recv收到了长度为0则是表示断开了连接。小于0则表示连接发生了错误。
  • T7.A市B,C两个区,人口比例为3:5,据历史统计B区的犯罪率为0.01%,C区为0.015%,现有一起新案件发生在A市,那么案件发生在B区的可能性有多大?()
A 37.5% B 32.5% C 28.6% D 76.9% 概率题。这是一题条件概率题。
我们记犯罪事件为F,则本题要求的是
P(B|F),已知犯罪事件发生了,求这个事件发生在B区的概率题。
根据条件概率的公式有
P(B|F)=P(F|B)P(F)

P(B|F)=P(F|B)P(B)P(F|B)P(B)+P(F|C)P(C)
我们需要带入的是下面的公式。
计算的结果就是 P(B|F)=0.013/80.013/8+0.0155/8=28.57% 答案选择C
  • T8.在Linux中crontab文件由6个域组成,每个域之间用空格分隔,下列哪个排列方式是正确的?
A MIN HOUR DAY MONTH YEAR COMMAND B MIN HOUR DAY MONTH DAYOFWEEK COMMAND C COMMAND HOUR DAY MONTH DAYOFWEEK D COMMAND YEAR MONTH DAY HOUR MIN 答案选B
crontab 分六大块组成,具体如下:
MIN(分钟) HOUR(小时) DAY(日期) MONTH(月份) DAYOFWEEK(星期) COMMAND(命令) 一个数组的全排列代码: void swap(char *str1,char *str2) { char temp; temp=*str1; *str1=*str2; *str2=temp; } void permStr(char *str,int i) { //printf("%d",i); if(i==strlen(str)-1) printf("%s ",str); else { for(int j=i;jstr);j++) { //printf("i %d,j %d",i,j); swap(&str[i],&str[j]); permStr(str,i+1); swap(&str[i],&str[j]); } } } int main() { char str[]={"abc"}; permStr(str,0); return 0; } 思路是:
用数组记录操作后的序列,输出结果时只需要输出该数组即可;
交换第1个元素与第 i (1=< i<=n)个元素,得到n个序列;把每个序列分成两部分:第一个元素,其余的元素;对其余元素执行全排列操作;(记得操作完后,将这两个元素交换回来,以方便下面的交换)
当剩余序列中只有一个元素时,得到一种排列结果,输出该结果。
  • T9.在Linux系统中哪个文件定义了服务搜索顺序?
A /etc/services B /etc/nsorder C /etc/nsswitch.conf D /etc/hosts 答案选择C。
/etc/services 文件是记录网络服务名和他们对应使用的端口号和协议
/etc/nsswitch.conf 规定通过哪些途径以及按照什么顺序通过这些途径来查找特定类型的信息,还可以指定某个方法奏效或失效时系统将采取什么动作。 /etc/hosts 是配置ip地址和其对应主机名的文件,这里可以记录本机的或其他主机的ip及其对应的主机名。
  • T10.在Linux系统中,下列哪个命令是用来统计一个文件中的行数?
A lc B wc – l C cl D count 答案选A
wc -l只输出文件行数
Linux系统中的wc(Word Count)命令的功能为统计指定文件中的字节数、字数、行数,并将统计结果显示输出。 -l 统计行数。
-m 统计字符数。这个标志不能与 -c 标志一起使用。
-w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。
-L 打印最长行的长度。
-help 显示帮助信息
–version 显示版本信息 Linux下的硬链接和软链接概念。
【硬连接】
硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。
【软连接】
另外一种连接称之为符号连接(Symbolic Link),也叫软连接。软链接文件有类似于Windows的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。