数据库,计算机网络、操作系统刷题笔记25
2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开
测开的话,你就得学数据库,sql,oracle,尤其sql要学,当然,像很多金融企业、安全机构啥的,他们必须要用oracle数据库
这oracle比sql安全,强大多了,所以你需要学习,最重要的,你要是考网络警察公务员,这玩意你不会就别去报名了,耽误时间!
考网警特招必然要考操作系统,计算机网络,由于备考时间不长,你可能需要速成,我就想办法自学速成了,课程太长没法玩
刷题笔记系列文章:
【1】Oracle数据库:刷题错题本,数据库的各种概念
【2】操作系统,计算机网络,数据库刷题笔记2
【3】数据库、计算机网络,操作系统刷题笔记3
【4】数据库、计算机网络,操作系统刷题笔记4
【5】数据库、计算机网络,操作系统刷题笔记5
【6】数据库、计算机网络,操作系统刷题笔记6
【7】数据库、计算机网络,操作系统刷题笔记7
【8】数据库、计算机网络,操作系统刷题笔记8
【9】操作系统,计算机网络,数据库刷题笔记9
【10】操作系统,计算机网络,数据库刷题笔记10
【11】操作系统,计算机网络,数据库刷题笔记11
【12】操作系统,计算机网络,数据库刷题笔记12
【13】操作系统,计算机网络,数据库刷题笔记13
【14】操作系统,计算机网络,数据库刷题笔记14
【15】计算机网络、操作系统刷题笔记15
【16】数据库,计算机网络、操作系统刷题笔记16
【17】数据库,计算机网络、操作系统刷题笔记17
【18】数据库,计算机网络、操作系统刷题笔记18
【19】数据库,计算机网络、操作系统刷题笔记19
【20】数据库,计算机网络、操作系统刷题笔记20
【21】数据库,计算机网络、操作系统刷题笔记21
【22】数据库,计算机网络、操作系统刷题笔记22
【23】数据库,计算机网络、操作系统刷题笔记23
【24】数据库,计算机网络、操作系统刷题笔记24
文章目录
- 数据库,计算机网络、操作系统刷题笔记25
- @[TOC](文章目录)
- Oracle数据知识点复习
- 外键约束
- 如何删除外键挂接的数据?
- 外键使用建议:
- 追加约束,2个办法
- 删除约束,drop呗
- 完整性约束
- 子网掩码255.255.255.0理论上可容纳多少台主机( ),全0的网络地址,全1的广播地址,部分情况下还有一个网关地址 。256-3=253
- 在网络层:分片,IP 数据报;在传输层:分段,TCP 报文段
- 调制是将数字信号转模拟信号,解调是将模拟转数字,脉冲编码是模拟信号转数字信号,脉冲编码是第一步
- 带有子网掩码255.255.224.0的地址222.201.190.12,使用了如下哪种技术_______?
- 默认RMI采用的是什么通信协议
- 实现防火墙的主流技术有三种:
- BGP(Border Gateway Protocol:边际网关协议)
- 下列TCP连接建立过程描述正确的是:
- 交换机可以隔离冲突域,也可以隔离广播域,但同一个交换机是一个广播域
- RIP路由算法所支持的最大HOP数为()?16不可达,所以15最大了
- 下列文件物理结构中,适合随机访问且易于文件扩展的是()
- 如果输入输出所用的时间比处理时间短得多,则缓冲区几乎无效
- 关于epoll和select的区别,哪些说法是正确的?
- 程序并发执行的时候会失去封闭性和可再现性,但是这边有“可能”二字
- 区分预防死锁,避免死锁,和检测和解除死锁
- 在请求分页存储管理的系统中,若采用FIFO页面淘汰算法,它有颠簸现象,因此可能会炸锅
- 用户级安全管理:用户访问权限。 系统级安全管理:不允许未经授权的用户进入系统
- 公司内部为100Mbps的企业网,办公室计算机从网络中心下载25M的文件,在没有流量控制与无干扰的情况下,大概需要的时间为( )
- 办公室有一台计算机通过域名访问到非域名对应的web服务器,其他计算机可以正常访问,造成这种情况可能的原因是( )
- Unix操作系统允许用户在汇编语言上使用系统调用。
- 源IP地址和目的IP地址是由网络层IP协议头部封装
- 总结
文章目录
- 数据库,计算机网络、操作系统刷题笔记25
- @[TOC](文章目录)
- Oracle数据知识点复习
- 外键约束
- 如何删除外键挂接的数据?
- 外键使用建议:
- 追加约束,2个办法
- 删除约束,drop呗
- 完整性约束
- 子网掩码255.255.255.0理论上可容纳多少台主机( ),全0的网络地址,全1的广播地址,部分情况下还有一个网关地址 。256-3=253
- 在网络层:分片,IP 数据报;在传输层:分段,TCP 报文段
- 调制是将数字信号转模拟信号,解调是将模拟转数字,脉冲编码是模拟信号转数字信号,脉冲编码是第一步
- 带有子网掩码255.255.224.0的地址222.201.190.12,使用了如下哪种技术_______?
- 默认RMI采用的是什么通信协议
- 实现防火墙的主流技术有三种:
- BGP(Border Gateway Protocol:边际网关协议)
- 下列TCP连接建立过程描述正确的是:
- 交换机可以隔离冲突域,也可以隔离广播域,但同一个交换机是一个广播域
- RIP路由算法所支持的最大HOP数为()?16不可达,所以15最大了
- 下列文件物理结构中,适合随机访问且易于文件扩展的是()
- 如果输入输出所用的时间比处理时间短得多,则缓冲区几乎无效
- 关于epoll和select的区别,哪些说法是正确的?
- 程序并发执行的时候会失去封闭性和可再现性,但是这边有“可能”二字
- 区分预防死锁,避免死锁,和检测和解除死锁
- 在请求分页存储管理的系统中,若采用FIFO页面淘汰算法,它有颠簸现象,因此可能会炸锅
- 用户级安全管理:用户访问权限。 系统级安全管理:不允许未经授权的用户进入系统
- 公司内部为100Mbps的企业网,办公室计算机从网络中心下载25M的文件,在没有流量控制与无干扰的情况下,大概需要的时间为( )
- 办公室有一台计算机通过域名访问到非域名对应的web服务器,其他计算机可以正常访问,造成这种情况可能的原因是( )
- Unix操作系统允许用户在汇编语言上使用系统调用。
- 源IP地址和目的IP地址是由网络层IP协议头部封装
- 总结
Oracle数据知识点复习
外键约束
俩表
学生和课程表
student3和sub
create table student3(
stuno number(3),
stuname varchar2(10),
stuaddress varchar2(20),
subid number(3)
);
四个字段,最后一个课程编号
SQL> create table student3(stuno number(3),stuname varchar2(10),stuaddress varchar2(20),subid number(3));
表已创建。
SQL> desc student3;
名称
是否为空? 类型
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------- --------------------------------------------------------------------------------------------------------------------
STUNO
NUMBER(3)
STUNAME
VARCHAR2(10)
STUADDRESS
VARCHAR2(20)
SUBID
create table sub(
sid number(3),
sname varchar2(10)
);
课程编号,课程名字
俩字段
SQL> create table sub(sid number(3),sname varchar2(10));
表已创建。
SQL> desc sub;
名称
是否为空? 类型
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------- --------------------------------------------------------------------------------------------------------------------
SID
NUMBER(3)
SNAME
通过外键,可以将多个表关联起来
对于student3表,subid是一个外键
对于sid来说,它是sub表的主键
给俩表插入数据,跟上图保持一致
insert into student3 values(1,'zs','aa',1);
insert into student3 values(2,'ls','bb',1);
insert into student3 values(3,'ww','cc',2);
仨
SQL> insert into student3 values(1,'zs','aa',1);
已创建 1 行。
SQL> insert into student3 values(2,'ls','bb',1);
已创建 1 行。
SQL> insert into student3 values(3,'ww','cc',2);
已创建 1 行。
SQL> select * from student3;
STUNO STUNAME STUADDRESS SUBID
---------- -------------------- ---------------------------------------- ----------
1 zs aa 1
2 ls bb 1
3 ww cc 2
sub
insert into sub values(1,'java');
insert into sub values(2,'python');
俩
SQL> insert into sub values(1,'java');
已创建 1 行。
SQL> insert into sub values(2,'python');
已创建 1 行。
SQL> select * from sub;
SID SNAME
---------- --------------------
1 java
2 python
别忘了commit
SQL> commit;
提交完成。
目前是没有外键的
你可以随意插入stu表,subid随意,都行
但是你要是整一个外键,就不能乱插入了
SQL> insert into student3 values(4,'zl','dd',3);
已创建 1 行。
SQL> select * from student3;
STUNO STUNAME STUADDRESS SUBID
---------- -------------------- ---------------------------------------- ----------
1 zs aa 1
2 ls bb 1
3 ww cc 2
4 zl dd 3
若没有外键约束,
表格可以插入subid为3的
不管你sub课程有没有3号课程
懂?
来,咱们给这个表格加外键约束
SQL> delete from student3 where stuno=4;
已删除 1 行。
SQL> commit;
提交完成。
SQL> select * from student3;
STUNO STUNAME STUADDRESS SUBID
---------- -------------------- ---------------------------------------- ----------
1 zs aa 1
2 ls bb 1
3 ww cc 2
先给sub加主键
要求sub表里面的主键得有
alter table sub modify(sid number(3) primary key);
修改表字段,加主键
SQL> alter table sub modify(sid number(3) primary key);
表已更改。
SQL> desc sub;
名称
是否为空? 类型
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------- --------------------------------------------------------------------------------------------------------------------
SID
NOT NULL NUMBER(3)
SNAME
VARCHAR2(10)
再给stu加外键
创建表格的同时,可以加外键,表级别约束,命名:
constraint 约束名字fk_student3_sub foreign key(本表外键字段subid) references 另一个表名字sub(另一个表的主键字段sid)
create table student3(
stuno number(3),
stuname varchar2(10),
stuaddress varchar2(20),
subid number(3),
constraint fk_student3_sub foreign key(subid) references sub(sid)
);
将本表的subid定为外键
参考表sub的sid字段
俩是挂接约束关系
或者就加约束:
SQL> alter table student3 add constraint fk_student3_sub foreign key(subid) references sub(sid);
表已更改。
SQL> desc student3;
名称
是否为空? 类型
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------- --------------------------------------------------------------------------------------------------------------------
STUNO
NUMBER(3)
STUNAME
VARCHAR2(10)
STUADDRESS
VARCHAR2(20)
SUBID
NUMBER(3)
再试试加入非法数据呢?
SQL> insert into student3 values(4,'zl','dd',3);
insert into student3 values(4,'zl','dd',3)
*
第 1 行出现错误:
ORA-02291: 违反完整约束条件 (SCOTT.FK_STUDENT3_SUB) - 未找到父项关键字
看见了没,你现在stu的subid是挂接sub的sid的
subid是外键
一旦sub的sid没有3号课程
你想在stu中加入subid为3的课程,一定会违反外键约束,gg
——创建表可以加约束,平时我们也可以修改,加入约束,用alter table的方式,更改表,然后更新,修改,添加,删除字段啥的,增加约束啥的,都可以
外键约束的本质:A.a—>B.b,要求
A.a中的数据,必须来自B.b里面的唯一字段
当然,你也不能随意删除,因为外键约束要求,俩表是完整的
A成为子表,B是母表
SQL> delete from sub where sid=2;
delete from sub where sid=2
*
第 1 行出现错误:
ORA-02292: 违反完整约束条件 (SCOTT.FK_STUDENT3_SUB) - 已找到子记录
但是你可以删除子表里面的数据
SQL> delete from student3 where subid=2;
已删除 1 行。
SQL> rollback;
回退已完成。
如何删除外键挂接的数据?
【1】如果你一定要删除sub的数据,你可以删除外键
【2】或者你级联删除
就是把子表的数据同样干掉
【3】或者你就把子表的那个字段设置为null就不会挂接母表了
直接在建表的时候
把外键约束的屁股加:
on delete cascade/set null
alter table student3 drop column subid;
alter table student3 add subid number(3);
alter table student3 add constraint fk_student3_sub foreign key(subid) references sub(sid) on delete cascade;
搞定
SQL> alter table student3 drop column subid;
表已更改。
SQL> alter table student3 add subid number(3);
表已更改。
SQL> alter table student3 add constraint fk_student3_sub foreign key(subid) references sub(sid) on delete cascade;
表已更改。
SQL> delete from sub where sid=2;
已删除 1 行。
SQL> rollback;
回退已完成。
这样的话,就可以级联删除母表和子表的sid=2的数据了
删除前
删除之后
【3】也可以咱们将其set null
alter table student3 drop column subid;
alter table student3 add subid number(3);
alter table student3 add constraint fk_student3_sub foreign key(subid) references sub(sid) on delete set null;
删除将子表那行数据置空
SQL> alter table student3 drop column subid;
表已更改。
SQL> alter table student3 add subid number(3);
表已更改。
SQL> alter table student3 add constraint fk_student3_sub foreign key(subid) references sub(sid) on delete set null;
表已更改。
SQL> delete from sub where sid=2;
已删除 1 行。
SQL> select * from student3;
STUNO STUNAME STUADDRESS SUBID
---------- -------------------- ---------------------------------------- ----------
1 zs aa
2 ls bb
3 ww cc
SQL> rollback;
懂了?
不妨设之间只有1
set null删除之后
外键使用建议:
当父表中没有数据时,最好别像子表里面增加数据
不要更改父表的数据,导致子表孤立
创建外键时,直接设置为级联删除或者置空
删除表的顺序:先删除子表,再删除父表,否则gg
追加约束,2个办法
第一类:唯一,主键,检查,外键约束
alter table 表名 add constraint 约束名 约束类型(字段)
建一个新表
create table student4(
stuno number(3),
stuname varchar2(10),
stuaddress varchar2(20),
subid number(3)
);
加约束
alter table student4 add constraint uq_address unique(stuaddress);
SQL> create table student4(stuno number(3),stuname varchar2(10),stuaddress varchar2(20),subid number(3));
表已创建。
SQL> alter table student4 add constraint uq_address unique(stuaddress);
表已更改。
alter table student4 add constraint pk_st4_stuno primary key(stuno);
SQL> alter table student4 add constraint pk_st4_stuno primary key(stuno);
表已更改。
alter table student4 add constraint ck_st4_stuname check(length(stuname)>2);
alter table student4 add constraint ck_st4_stuname check(length(stuname)>2);
表已更改。
alter table student4 add constraint fk_st4_subid foreign key(subid) references sub(sid) on delete set null;
SQL> alter table student4 add constraint fk_st4_subid foreign key(subid) references sub(sid) on delete set null;
表已更改。
怎么说,非常容易吧,很简单的语法思路
四个通用,美滋滋
第二类:默认和非空
语法规定,这俩不适用于上面的东西
alter table student4 add constraint not null(xx);
alter table student4 add constraint default(xx);
第二类:默认和非空得直接用修改类型的方法搞定
alter table 表名 modify 字段名 constraint 约束名 约束类型(字段)
alter table student4 modify stuname constraint nn_stu4_stuname not null;
SQL> alter table student4 modify stuname constraint nn_stu4_stuname not null;
表已更改。
alter table student4 modify stuaddress constraint df_stu4_stuaddress default '黑龙江';
第 1 行出现错误:
ORA-02253: 此处不允许约束条件说明
alter table student4 modify stuaddress default '黑龙江';
SQL> alter table student4 modify stuaddress default '黑龙江';
表已更改。
稳了,
不同的约束,你看default,都不需要constraint的哦
美滋滋
删除约束,drop呗
第一类:唯一,主键,检查,外键约束,非空
alter table 表名 drop constraint 约束名字
一个个删
骚
知道语法就行了
有constraint的就上面那样删除
没有constraint的就下面这样删除
就是将其默认为null
第二类:默认
alter table 表名 modify 字段名 default null;
alter table student4 modify stuaddress default null;
SQL> alter table student4 modify stuaddress default null;
表已更改。
完整性约束
换一个角度,看约束,保证数据的正确性,相容性,防止数据冗余
域完整性:列
通过数据类型,指定列,是特定的类型,不能混乱,Oracle会自动检查的
或者就是约束
外键约束,not null,check,默认
实体完整性:行
一行的主键约束,唯一约束,你不能重复行的id
引用完整性:不同表之间
外键约束
表和表之间用的时候,要完整
自定义完整性:触发器
后面我们再讲触发器
执行一个操作时,触发另一个操作
自定义的要求
子网掩码255.255.255.0理论上可容纳多少台主机( ),全0的网络地址,全1的广播地址,部分情况下还有一个网关地址 。256-3=253
我这个算术,gg
2的8次方,256啊
骚死
怎么选了64
在网络层:分片,IP 数据报;在传输层:分段,TCP 报文段
调制是将数字信号转模拟信号,解调是将模拟转数字,脉冲编码是模拟信号转数字信号,脉冲编码是第一步
调制,就是把数字信号转换成电话线上传输的模拟信号;解调,即把模拟信号转换成数字信号。合称调制解调器
脉冲编码调制(Pulse Code Modulation),简称PCM。
脉码调制是对连续变化的模拟信号进行处理、量化、编码后转换为数字信号的一种调制方式。
所传输的信号经脉码调制后,变为一系列的等幅脉冲,按照脉冲的出现与否赋予相应的编码,从而把所传输的信号以编码的形式表示出来。
带有子网掩码255.255.224.0的地址222.201.190.12,使用了如下哪种技术_______?
链接:https://www.nowcoder.com/questionTerminal/5f2951c816f64ff09111b33b27a60203
来源:牛客网
**子网划分:**分出了A,B,C,D,E这5类网络,A类ip地址必须以0开头,B类ip地址必须以10开头,C类ip地址必须以110开头,题中给出的ip地址为C类ip地址;
可变长子网划分(VLSM):在A,B,C,D,E这些子网下面再继续划分子网;——显然是建立在子网划分的基础上的
**无类域间路由(CIDR)😗*是子网划分的逆过程,将网络部分的某些位合并进主机部分,将网络号,借给主机号,以产生更多的主机数量
所以这里就是CIDR——犯错就知道是哪里需要巩固知识点
默认RMI采用的是什么通信协议
实现防火墙的主流技术有三种:
链接:https://www.nowcoder.com/questionTerminal/9a4367fece7c4dd3832048b5aa3dd62b
来源:牛客网
1. 包过滤技术
包过滤是最早使用的一种防火墙技术,包过滤技术工作的地方就是各种基于TCP/IP协议的数据报文进出的通道,它把这两层作为数据监控的对象,对每个数据包的头部、协议、地址、端口、类型等信息进行分析,并与预先设定好的防火墙过滤规则(Filtering Rule)进行核对,一旦发现某个包的某个或多个部分与过滤规则匹配并且条件为“阻止”的时候,这个包就会被丢弃。
2. 应用级网关技术
由于包过滤技术无法提供完善的数据保护措施,而且一些特殊的报文攻击仅仅使用过滤的方法并不能消除危害(如SYN攻击、ICMP洪水等),因此人们需要一种更全面的防火墙保护技术,在这样的需求背景下,采用“应用***”(Application Proxy)技术的防火墙诞生了。一个完整的设备包含一个服务端和客户端,服务端接收来自用户的请求,调用自身的客户端模拟一个基于用户请求的连接到目标服务器,再把目标服务器返回的数据转发给用户,完成一次工作过程。
3 .状态检测技术
这种防火墙技术通过一种被称为“状态监视”的模块,在不影响网络安全正常工作的前提下采用抽取相关数据的方法对网络通信的各个层次实行监测,并根据各种过滤规则作出安全决策。
包过滤技术是最基本的防火墙技术,所以A正确
应用级网关和服务器技术都是是应用技术的防火墙,所以BD正确
C,NAT是网络地址转换,用于公网和内网IP之间的相互转换,不是防火墙技术
眼睛别瞎了,TCP/IP是协议结构
BGP(Border Gateway Protocol:边际网关协议)
BGP协议是运行在AS之间的一种协议
属于EGP,追求的是可靠性、可控性强
BGP使用TCP作为其传输层协议(监听端口号为179),提高了协议的可靠性,且不需要专门的机制来确保连接的可控性
BGP进行域间的路由选择,对协议的稳定性要求非常高
因此用TCP协议的高可靠性来保证BGP协议的稳定性
IGP大多都是采用组播的方式,运行IGP的路由设备会自动发现并建立邻居关系
但是由于BGP采用的TCP的方式,因此必须手动指定BGP邻居
同时,为了保证TCP的建立,还必须保证建立BGP关系的两个路由器之间要有相应的路由
BGP从设计上避免了环路的发生
AS之间:
BGP通过携带AS路径信息来标记途经的AS,带有本地AS号的路由将被丢弃,从而避免了域间产生环路
AS内部:
BGP在AS内学到的路由不再通告给AS内的BGP邻居,避免了AS内产生环路
路由更新时,BGP只发送更新的路由,大大减少了BGP传播路由所占用的带宽,适用于在Internet上传播大量的路由信息
————————————————
版权声明:本文为CSDN博主「汤键.」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_59624686/article/details/127200844
下列TCP连接建立过程描述正确的是:
A不对,应该是客户端立马进入
B不对,应该是服务器收到SYN之后立马进入
C对的,2次握手之后,客户端已经连接了,一会服务器才会连接
D不对,不一定立马关闭,可能若服务端未收到客户端的确认包,服务端会进行超时重传,然而重传时间并不确定
这俩图很重要
交换机可以隔离冲突域,也可以隔离广播域,但同一个交换机是一个广播域
RIP路由算法所支持的最大HOP数为()?16不可达,所以15最大了
狗逼题目
抠字眼
下列文件物理结构中,适合随机访问且易于文件扩展的是()
链接:https://www.nowcoder.com/questionTerminal/4a64ee2af88f4e4aa6243b1f61902201
来源:牛客网
RIP (Routing Information Protocol)
RIP 是一种分布式的基于距离向量的路由选择协议。
从一路由器到直接连接的网络的距离定义为 1。
从一个路由器到非直接连接的网络的距离定义为所经过的路由器数加 1。
RIP 协议中的“距离”也称为“跳数”(hop count),因为每经过一个路由器,跳数就加 1。
RIP 允许一条路径最多只能包含 15 个路由器。
“距离”的最大值为16 时即相当于不可达。可见 RIP 只适用于小型互联网。
链接:https://www.nowcoder.com/questionTerminal/fe8e5aa53d9b43f6acae7e58ca00f51b
来源:牛客网
文件的物理结构分为顺序、链接、索引。链接又分为隐式链接和显式链接。
顺序分配支持随机访问,但不利于文件扩展。
隐式链接不能随机访问。显式链接中建立了文件分配表(FAT),可以通过FAT实现随机访问。
索引既支持随机访问,又易于文件扩展。
如果输入输出所用的时间比处理时间短得多,则缓冲区几乎无效
牛逼
IO时间远低于处理时间时,缓冲区几乎无效。 这里的意思是,在处理完成之前,数据传入已经完成,也就是IO与CPU的速度矛盾被消除了,无需缓冲。
关于epoll和select的区别,哪些说法是正确的?
链接:https://www.nowcoder.com/questionTerminal/6979d0f1b1df4d8fa038a24bc2dab120
来源:牛客网
select和epoll这两个机制都是**多路I/O机制的解决方案,**select为POSIX标准中的,而epoll为Linux所特有的。
epoll的最大好处是不会随着FD的数目增长而降低效率,
在select中采用轮询处理,【轮训效率低】其中的数据结构类似一个数组的数据结构,
而epoll是维护一个队列,直接看队列是不是空就可以了。
nginx就是使用epoll来实现I/O复用支持高并发,目前在高并 发的场景下,nginx越来越收到欢迎。
select的一 个缺点在于单个进程能够监视的文件描述符的数量存在最大限制
epoll:
(1)IO的效率不会随着监视fd的数量的增长而下降。
epoll不同于select和poll轮询的方式,而是通过每个fd定义的回调函数来实现的。只有就绪的fd才会执行回调函数;
(2)支持电平触发和边沿触发(只告诉进程哪些文件描述符刚刚变为就绪状态,它只说一遍,如果我们没有采取行动,那么它将不会再次告知,这种方式称为边缘触发)两种方式,理论上边缘触发的性能要更高一些,但是代码实现相当复杂。
(3)有着良好的就绪事件通知机制
select:
(1)单个进程可监视的fd数量受到了限制,在32位机器上,他所能管理的fd数量最大为1024;
(2)对socket进行扫描时是线性扫描,当socket文件描述符数量变多时**,大量的时间是被白白浪费掉的。**
程序并发执行的时候会失去封闭性和可再现性,但是这边有“可能”二字
第二次错误了!
区分预防死锁,避免死锁,和检测和解除死锁
这题目的答案有问题
A是破坏四个条件,就是预防
C也是对的,静态资源分配,一下子就分配完,避免还去申请
链接:https://www.nowcoder.com/questionTerminal/b8ade2458fe94e59827f8adbf58efe2c
来源:牛客网
1. 预防死锁。
这是一种较简单和直观的事先预防的方法。方法是通过设置某些限制条件,去破坏产生死锁的四个必要条件中的一个或者几个,来预防发生死锁。预防死锁是一种较易实现的方法,已被广泛使用。但是由于所施加的限制条件往往太严格,可能会导致系统资源利用率和系统吞吐量降低。
2. 避免死锁。
该方法同样是属于事先预防的策略,但它并不须事先采取各种限制措施去破坏产生死锁的的四个必要条件,而是在资源的动态分配过程中,用某种方法去防止系统进入不安全状态,从而避免发生死锁。
银行家算法
3. 检测死锁。
这种方法并不须事先采取任何限制性措施,也不必检查系统是否已经进入不安全区,此方法允许系统在运行过程中发生死锁。但可通过系统所设置的检测机构,及时地检测出死锁的发生,并精确地确定与死锁有关的进程和资源,然后采取适当措施,从系统中将已发生的死锁清除掉。
4. 解除死锁。
这是与检测死锁相配套的一种措施。当检测到系统中已发生死锁时,须将进程从死锁状态中解脱出来。常用的实施方法是撤销或挂起一些进程,以便回收一些资源,再将这些资源分配给已处于阻塞状态的进程,使之转为就绪状态,以继续运行。死锁的检测和解除措施,有可能使系统获得较好的资源利用率和吞吐量,但在实现上难度也最大。
列举说明linux系统的各类异步机制
在请求分页存储管理的系统中,若采用FIFO页面淘汰算法,它有颠簸现象,因此可能会炸锅
则当进程分配到的页面数增加时,缺页中断的次数()。
用户级安全管理:用户访问权限。 系统级安全管理:不允许未经授权的用户进入系统
链接:https://www.nowcoder.com/questionTerminal/1dd0c08ada9743f1a1526a8f7db40f97
来源:牛客网
(1)系统级安全管理的主要任务是不允许未经授权的用户进入系统,从而也放置了他人非法使用系统中各类资源(包括文件)。系统级管理的主要措施有注册与登陆。
(2)用户级安全管理是通过对所有用户分类和对指定用户分配访问权。不同的用户对不同文件设置不同的存取权限来实现。例如,在Unix系统中将用户分为文件主、组用户和其他用户。有的系统将用户分为超级用户、系统操作员和一般用户。
(3)目录级安全管理是为了保护系统中各种目录而设计的,它与用户权限无关。为保证目录的安全规定只有系统核心才具有写目录的权利。
(4)文件级安全管理是通过系统管理员或文件主对文件属性的设置来控制用户对文件的访问。是有效权限和文件属性的交集。
——摘自《软件设计师教程》
公司内部为100Mbps的企业网,办公室计算机从网络中心下载25M的文件,在没有流量控制与无干扰的情况下,大概需要的时间为( )
我们说的25M是B
波特
1B=8bit
速率bps是bit/s
办公室有一台计算机通过域名访问到非域名对应的web服务器,其他计算机可以正常访问,造成这种情况可能的原因是( )
链接:https://www.nowcoder.com/questionTerminal/d643716dbd4944d7b09a3a771fc617c3
来源:牛客网
过程:首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统会再将网址提交DNS域名解析服务器进行IP地址的解析
若出错:要么Hosts中缓存记录出错,没有对应的IP地址
要么DNS域名解析服务器解析,DNS缓存中有错误记录,而导致出错;
链接:https://www.nowcoder.com/questionTerminal/d643716dbd4944d7b09a3a771fc617c3
来源:牛客网
Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,
其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,
当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统会再将网址提交DNS域名解析服务器进行IP地址的解析。
hosts与DNS的关系:
在引入DNS(Domain Name System,域名系统)之前,
网络中的主机是将容易记忆的域名映射到IP地址并将它保存在一个共享的静态文件hosts中,再由hosts文件来实现网络中域名的管理。
最初Internet非常小,仅使用这个集中管理的文件就可以通过FTP为连入Internet的站点和主机提供域名的发布和下载。
每个Internet站点将定期地更新其主机文件的副本,并且发布主机文件的更新版本来反映网络的变化。
但是,当Internet上的计算机迅速增加时,通过一个中心授权机构为所有Internet主机管理一个主机文件的工作将无法进行。
文件会随着时间的推移而增大,这样按当前和更新的形式维持文件以及将文件分配至所有站点将变得非常困难,甚至无法完成,于是便产生了DNS服务器。
俩都是干这事的,但是一个量小,一个量大
链接:https://www.nowcoder.com/questionTerminal/94cb5ef6057140e999fba4cb6ac91e90
来源:牛客网
进程通信
指在进程间传输数据(交换信息)。进程通信根据交换信息量的多少和效率的高低,分为低级通信(只能传递状态和整数值)和高级通信(提高信号通信的效率,传递大量数据,减轻程序编制的复杂度)。
高级进程通信:
**共享内存模式:**相互通讯的进程有共享存储区.进程间可以通过直接读写共享存储区的变量来交互数据,同步与互斥在并发程序设计时安排进入程序。
**消息传递模式:**通过操作系统的相应系统调用进行消息传递通讯。分为直接和间接两种,
**直接通信方式:**点到点的发送。
**间接通信方式:**以信箱为媒介进行传递,可以广播,其中媒介作为文件共享的平台。【这就是答案】
**管道通信模式:**是一种信息流缓冲机构, UNIX系统中管道基于文件系统,在内核中通过文件描述符表示。管道以先进先出(FIFO)方式组织数据传输。
Unix操作系统允许用户在汇编语言上使用系统调用。
源IP地址和目的IP地址是由网络层IP协议头部封装
TCP是这么定的:
总结
提示:重要经验:
1)
2)学好oracle,操作系统,计算机网络,即使经济寒冬,整个测开offer绝对不是问题!同时也是你考公网络警察的必经之路。
3)笔试求AC,可以不考虑空间复杂度,但是面试既要考虑时间复杂度最优,也要考虑空间复杂度最优。