操作系统,计算机网络,数据库刷题笔记2

操作系统,计算机网络,数据库刷题笔记2

2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开
测开的话,你就得学数据库,sql,oracle,尤其sql要学,当然,像很多金融企业、安全机构啥的,他们必须要用oracle数据库
这oracle比sql安全,强大多了,所以你需要学习,最重要的,你要是考网络警察公务员,这玩意你不会就别去报名了,耽误时间!
考网警特招必然要考操作系统,计算机网络,由于备考时间不长,你可能需要速成,我就想办法自学速成了,课程太长没法玩
【1】Oracle数据库:刷题错题本,数据库的各种概念
【2】操作系统,计算机网络,数据库刷题笔记2


文章目录

信号量S的本质,P操作,V操作

一:信号量的本质
信号量(semaphore)的数据结构为一个值和一个指针,指针指向等待该信号量的下一个进程
信号量的值与相应资源的使用情况有关。
当它S的值大于0时,表示当前可用资源的数量;
当它S的值小于0时,其绝对值表示等待使用该资源的进程个数。
注意,信号量的值仅能由PV操作来改变。

二:信号量机制的功能
进程间通信处理同步互斥的机制。
信号量是一个计数器,可以用来控制多个进程对共享资源的访问。
它常作为一种锁机制,防止某进程正在访问共享资源时,其他进程也访问该资源。

三:PV操作的含义
PV操作由P操作原语和V操作原语组成(原语是不可中断的过程),针对信号量进行相应的操作。

四:PV操作的定义
其中S表示信号量的值,P表示P操作,V表示V操作;
P(S):
①将信号量S的值减1,即进行S = S-1;
②如果S < 0,则该进程进入阻塞队列;
③如果S >= 0, 则该进程继续执行;
④执行一次P操作其实就是意味请求分配一个资源,所以针对②和③来说就好理解了,
当信号量的值小于0,那么就表示没有可用资源,那么进程就只能进行等待其他拥有该资源的进程释放资源之后,才能进行执行;
当信号量大于0的时候,那么表示还有足够的资源,所以,当前进程就可以继续执行;

V(S):

①将信号量S的值加1,即 S = S + 1;
②如果S > 0,则该进程继续执行;
③如果S < 0, 则释放阻塞队列中的第一个等待信号量的进程;
④执行一次V操作其实就是意味释放一个资源,所以针对②和③来说就好理解了,
当信号量的值大于0,那么就表示有可用资源,那么表示信号量的资源足够进程进行申请,就不需要将进程进行放入到阻塞队列中;
而当信号量小于0的时候,就表示针对这个信号量,还有其他的进程是已经进行了申请信号量的操作,而只是之前是无法满足进程获取资源的,
简单点说,就是表示阻塞队列中还有其他的进程是执行了P操作,在等待信号量,
所以,这样的话,就讲阻塞队列中的第一个等待信号量的进程进行处理即可;

我觉得,通过我上面对PV操作以及信号量的解释,大家应该对整个的过程有了一个简单的理解了,可能这里面有点绕,但是好好的读一下我写的,慢慢的揣摩下,应该就理解了,这可能和我们平常的逻辑不是非常的切合,但是,理解了就会觉得,其实这就是PV操作的一个好处。下面,我用一个例子来帮大家更好的理解一下。
————————————————
版权声明:本文为CSDN博主「Cs_hnu_scw」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/cs_hnu_scw/article/details/80204038

食堂就餐座位问题

描述:现在有一个食堂,里面有50个座位,然后下课了,学生要进行食堂就餐,而只有当有学生就餐吃完之后,就让开座位,那么其他的同学才可以进行就坐。所以,利用PV操作来实现这样的一种处理。

解析:设置 semaphore sp = 50;

void  student(void)      // 学生进程
{
        P(sp);
        就餐;
        V(sp); 
}

怎么说,你理解了吗?就是等座位来做,P就是占座,V就是走人

执行2除以0会产生?

自愿性中断事件
程序中断事件
外部中断事件
输入输出中断事件

此题考察的是中断的分类
1 人为设置的中断
2 程序性事故 数值溢出,除法中非法计算,操作码不能识别
3 硬件故障【机械硬盘故障】
4 I/O设备
5 外部事件【断电啥的】

文件的逻辑结构:有结构,无结构

在这里插入图片描述

文件的逻辑结构:
1、无结构(流式)
2、有结构(记录式)i. 顺序文件 ii. 索引文件 iii. 索引顺序文件 iv. 直接文件 v. 散列文件(hash)
在这里插入图片描述

根据存储内容来进行存取的存储器称为( 相联存储器)

双端口存储器同一个存储器具有两组相互独立的读写控制线路,由于进行并行的独立操作,是一种高速工作的存储器

相联存储器是一种不根据地址而是根据存储内容来进行存取的存储器,可以实现快速地查找块表。
既可以按照地址寻址也可以按照内容寻址(通常是某些字段),为了与传统寄存器作区别,称为按内容寻址的存储器。

交叉存储器其存储模块都有相同的容量和存储速度,各模块都有各自独立地址寄存器(MAR)、数据寄存器(MDR)、地址译码、驱动电路和读/写电路。

串行存储器,串行EEPROM存储器,支持I2C (中间的2是平方)总线数据传输协议。EEPROM是电可擦除只读存储器。

在故障排除的过程中,为测试本地 TCP/IP 协议,通常可以 ping下列哪个地址?localhost

本机地址
在这里插入图片描述
链接:https://www.nowcoder.com/questionTerminal/be49d4ba4fb6403eaf3f648b281a4eb2
来源:牛客网

127.0.0.1是回送地址,指本地机,一般用来测试使用。

回送地址是本机回送地址(Loopback Address),即主机IP堆栈内部的IP地址,主要用于网络软件测试以及本地机进程间通信,
无论什么程序,一旦使用回送地址发送数据,协议软件立即返回,不进行任何网络传输。

255.255.255.255 是本网广播地址
192.168.0.1属于IP地址的C类地址,属于保留IP,一般专门用于路由器设置。区别于localhost,即127.0.0.1

在使用 IP 地址时,如果网络号和主机号全1时,则表示( ) 。

在这里插入图片描述
我学过的知识是这样的
在这里插入图片描述
主机号全1,代表本网络的广播地址
32位全为1,应该是整个网络的广播地址
源地址肯定不能用
但是目的地址可以用
难道不是全网广播吗????

PING和tracert都是用ICMP协议

ping就是利用 ICMP发送请求报文 来探测主机之间是否网络是否通畅
tracert用来获取主机之间的路由信息。依次发送ttl = 1,2,3…n的ICMP请求包。通过对应的路由器发送超时ICMP包来获取对应的路由信息。

在一个对IP地址为192.168.30.2的设备的ARP请求分组中,目标地址是( )

看清楚,这不是在求网络地址……,而是地址解析协议将IP映射为MAC地址
在这里插入图片描述

链接:https://www.nowcoder.com/questionTerminal/4a61932f0bdb433eb96dde5ffee25f69
来源:牛客网

我们以主机A向目的主机B(192.168.30.2)发送数据为例。
当发送数据时,主机A会在自己的ARP缓存表中寻找是否有目标IP地址:
如果找到了,也就知道了目标MAC地址,直接把目标MAC地址写入帧里面发送就可以了;
②如果在ARP缓存表中没有找到相对应的IP地址,主机A就会在网络上发送一个广播,目标MAC地址是“FF.FF.FF.FF.FF.FF”,这表示向同一网段内的所有主机发出这样的询问:“192.168.30.2的MAC地址是什么?
网络上其他主机并不响应ARP询问,
只有主机B接收到这个帧时,才向主机A做出这样的回应:“192.168.30.2的MAC地址是34-12-65-ae-c9-0a”。

这样,主机A就知道了主机B的MAC地址,它就可以向主机B发送信息了。
同时它还更新了自己的ARP缓存表,下次再向主机B发送信息时,直接从ARP缓存表里查找就可以了。

网卡(网络适配器)的主要功能包括()

在这里插入图片描述

网卡也是数据链路层上的东西
A
将计算机连接到通信介质上
B
进行电信号匹配
C
实现数据传输

D
网络互连(×)
D是网桥的工作哦,数据链路层的网桥

区分设备:
物理层:中继器,集线器。
在这里插入图片描述

数据链路层:网桥,交换机
在这里插入图片描述

网络层:路由器,网关

在这里插入图片描述

子网掩码的格式,连续1加0

子网掩码是由连续的1加连续的0组成。 255.128.0.0表示成二进制为11111111.10000000.00000000.00000000 而其他答案不能表示成连续的1加连续的0,非掩码
在这里插入图片描述

路由器因为复杂所以控制力强。比较慢。交换机相对简单所以快,控制力弱。

链接:https://www.nowcoder.com/questionTerminal/064e86d1f1244801ad3c61900d2528b3
来源:牛客网

交换机,顾名思意,主要是起交换数据的作用。
路由器,不但起交换数据的作用,它还会寻找到该数据会传给谁,该怎么传。这是交换机和路由器最基本的区别。路由器不但可以交换数据,还可以寻址、路由。

打个比方:A想给B传递一个东西,如果是在同一个房间内(网络上就是一个局域网内),他们彼此之间是认识的,那么A就可以直接给B这个东东。这就是一个交换机可以完成的事项;

同样,A想给B传递一个东西,但是不在同一个房间内(网络上就是不同局域网内),他们彼此之间是不认识的,那么A就不得不通过其他媒介,寻找到适当的方式才可以给B这个东东。这就是一个路由器该完成的事项;但是交换机做不到。

不过,现在的3层交换机也可以有路由功能。但是,交换机拥有强大的数据交换能力,这是路由器做不到的;
路由器有强大的路由功能及安全策略能力,也是交换机做不到的。
交换机一般用在区域内起数据交换的功能,路由器一般用在区域间起路由转发的功能。
在这里插入图片描述

交换机攻击主要有以下6种类型:

1.VLAN跳跃攻击
2.生成树攻击
3.MAC表洪水攻击
4.ARP攻击
5.VTP攻击
6.DCHP攻击:利用了交换机端口安全功能,MAC动态地址锁和端口静态绑定MAC,来限定交换机某个端口上可以访问网络的MAC地址,从而进行控制。

目录遍历攻击是HTTP所存在的一个安全漏洞,它使得攻击者能够访问受限的目录,并在Web服务器的根目录以外执行命令。不属于交换机攻击。
在这里插入图片描述

双绞线传输介质是把两根导线绞在一起,这样可以减少 ()

绞合是减少相邻导线的电磁串扰,
外面的绝缘层是为了防止外界的信号干扰。

数据库1:1,1:M的对关系

链接:https://www.nowcoder.com/questionTerminal/85fa2639308945f59ddf6fcaee18173e
来源:牛客网

如果两属性集X,Y之间是1:1联系,则存在函数依赖:X<——>Y
如果两属性集X,Y之间是1:M联系,则存在函数依赖:X<——Y
如果两属性集X,Y之间是1:M联系,则存在函数依赖:X——>Y
如果两属性集X,Y之间是M:M联系,则存在函数依赖:X——Y
箭头指向one那边

数据库视图是并非一定可以更新

(1)若视图的字段是来自字段表达式或常数,则不允许对此视图执行INSERT、UPDATE操作,允许执行DELETE操作;
(2)若视图的字段是来自库函数,则此视图不允许更新;
(3)若视图的定义中有GROUP BY子句或聚集函数时,则此视图不允许更新;
(4)若视图的定义中有DISTINCT任选项,则此视图不允许更新;
(5)若视图的定义中有嵌套查询,并且嵌套查询的FROM子句中涉及的表也是导出该视图的基表,则此视图不允许更新;
(6)若视图是由两个以上的基表导出的,此视图不允许更新;
(7)一个不允许更新的视图上定义的视图也不允许更新;
(8)由一个基表定义的视图,只含有基表的主键或候补键,并且视图中没有用表达式或函数定义的属性,才允许更新。

数据库系统(DataBase System,DBS)包含DBMS和DB

链接:https://www.nowcoder.com/questionTerminal/b48bc6c1a5314cff8b4c36c8def446a9
来源:牛客网

数据库系统(DataBase System,DBS)由计算机硬件,操作系统,DBMS,DB,应用程序和用户以及数据库开发和管理人员等组成。
1,整体数据结构化
2,数据的共享度高
3,数据的独立性高
4,高度的数据控制能力

这玩意多次说过了

数据库视图的作用

站在不同的角度去看到数据。(同一张表的数据,通过不同的角度去看待)

对视图进行增删改查,会影响到原表数据。(通过视图影响原表数据的,不是直接操作的原表)可以对视图进行CRUD操作。
视图可以隐藏表的实现细节。保密级别较高的系统,数据库只对外提供相关的视图,java程序员只对视图对象进行CRUD。
视图的好处:
•重用sql语句
•简化复杂的sql操作,不必知道它的查询细节
保护数据,提高安全性

数据库中只存放视图的定义
在这里插入图片描述

数据库的三种概念抽象方法

三种常用抽象
▪ 分类
▪ 聚集(Aggregation)
▪ 概括(Generalization)

外模式-模式-内模式电话保证了什么特性?

在这里插入图片描述
链接:https://www.nowcoder.com/questionTerminal/7a9d7575b99a4b32a6eda637eb6dd490
来源:牛客网

1、当数据库模式发生变化时,例如关系数据库系统中增加新的关系、改变关系的属性数据类型等,可以调整外模式/模式间的映像关系,保证面向用户的各个外模式不变。
应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与应用程序的逻辑独立性,简称数据的逻辑独立性

2、当数据库中数据物理存储结构改变时,即内模式发生变化,例如定义和选用了另一种存储结构,可以调整模式/内模式映像关系,保持数据库模式不变,从而使数据库系统的外模式和各个应用程序不必随之改变。
这样就保证了数据库中数据与应用程序间的物理独立性,简称数据的物理独立性。

在这里插入图片描述
三级模式:外模式,用户视图模式,
模式,逻辑概念层
内模式,物理实体层

在这里插入图片描述
在这里插入图片描述

数据库关系

关系运算包括选择、投影、连接以及除法。
集合运算是二目运算,包括并、差、交、广义笛卡尔积四种运算。
在这里插入图片描述

delete的功能,删除表和视图中的数据——常识

在这里插入图片描述

on duplicate key update age=13

ON DUPLICATE KEY UPDATE是mysql的特殊语法,与INSERT INTO一起使用,意思就是记录存在就更新,否则就添加
看看这个文章的解释很清楚https://blog.csdn.net/ximaiyao1984/article/details/125587334
在这里插入图片描述
310001这个键已经存在,所以更新
要是这个不存在,那就添加即可

根据什么回复数据库?

数据库恢复的基础是利用转储的冗余数据,这些转储的冗余数据包括:日志文件,数据库后备副本

视图不能从其他的视图中导出,它一定对应原始数据表

在这里插入图片描述

将一个表数据转入另一个表select into

select * into seniordrivers from drivers where drivedistanced >=5000

实体完整性规则要求主键不能为null

实体完整性规则:这条规则要求关系中元组在组成主键的属性上不能有空值.如果出现空值,那么主键值就起不了唯一标识元组的作用.

在这里插入图片描述

查看视图的创建语句show create–查看视图表结构show

在这里插入图片描述

group by在where语句之后,别瞎了眼乱选

在这里插入图片描述

内存紧凑技术和动态重定位技术

把所有作业移动到内存的一端,从而在内存的另一端形成一个大的空闲分区的技术叫内存压缩(内存紧凑)技术。‘’

动态重定位技术是在程序运行过程中要访问数据时在进行逻辑地址和物理地址的变换。
在这里插入图片描述

分页式存储运行时间长,交换频繁

分页式存储管理可能将连续的指令放置在不同的页中,会发生换页中断,故运行时间长

分段、段页都是逻辑分配空间,段长可变,逻辑上相对连续的指令放在同一段中,不会像分页那样频繁换页操作。
在这里插入图片描述

请求分页修改时,需要从对换区读取数据

链接:https://www.nowcoder.com/questionTerminal/5b82a6df749d40de80d6f5fab0200890
来源:牛客网

请求分页系统,缺页时,如果页面未被修改是直接从磁盘文件区调入,
对于那些可能修改的页面,在将它们换出时,便须调到对换区,以后需要时,再从对换区调入。(对换区采用连续分配方式,故磁盘I/O速度要较快一些。)
在这里插入图片描述

oracle数据的查询数据大小写敏感

oracle期末考试题讲解:
https://www.bilibili.com/video/BV1Ns411u75d/?spm_id_from=333.337.search-card.all.click&vd_source=948e7983437e493fd355b61f100c7743
在这里插入图片描述
转义字符是可以任意的,但是需要escape说清楚
下面sim_匹配任意_
而escape ''是指明这个\是转义字符
在这里插入图片描述
在这里插入图片描述

null只能用is或者not判断null

不能用=,!=
在这里插入图片描述
在这里插入图片描述

增加约束constraint 然后名字,加主键类型(字段名)

在这里插入图片描述
在这里插入图片描述
D
才对哦
在这里插入图片描述

名字pk_表_字段

alter table test01 add column名 类型
在这里插入图片描述

修改就是更新
alter table test01 modify 原字段 新类型
【直接修改字段的类型】
在这里插入图片描述
删除列drop column?
delete是删除表数据全体
alter table test01 drop column 字段【删除字段】

在这里插入图片描述
在这里插入图片描述
drop将数据库对象删除
直接干掉表格
drop table/view/各种对象 名字;
drop column 字段名

所以D错了
删除某一条数据只能用delete
在这里插入图片描述
给字段增加默认约束
alter table 表名 modify(字段 default 默认值)
只对今后的新增数据有效,之前的你不能动!!!

在这里插入图片描述
在这里插入图片描述

oracle数据库数据是区分大小写的哦!
统计西安的注册用户人数
XiAn
这波肯定不能这么玩
得将小写转大写upper(city)
XIAN
这样统计才舒服,美滋滋
在这里插入图片描述
在这里插入图片描述
E

稳了需要把国家大小写转大写
然后统计不同国家的数量
distinct 去重
在这里插入图片描述
在这里插入图片描述
关键字是不区分大小写的哦
数据区分大小写
在这里插入图片描述
通配符:
下划线_代表任意一个字符
%0或多个

如果要使用通配符本意_,%,那你需要escape来指定我的转义符
这样写:_ escape ‘’
% escape ‘’

在这里插入图片描述
在这里插入图片描述
子查询,就是有些位置条件,需要你单独去计算出来,再整体查询才行
在这里插入图片描述

链接表结构,可以用子查询搞定
在这里插入图片描述

视图:view
就是一个数据库对象,普通用户默认没有视图创建的权限
通过管理员授权sysdba
grant create view to user;
先给用户赋予权限
在这里插入图片描述

SQL> grant create view to scott;

授权成功。

登录hr用户

SQL> conn hr
输入口令:
已连接。
SQL> select table_name from user_tables;

TABLE_NAME
------------------------------------------------------------
REGIONS
DEKT
JOBS
DEPARTMENTS
EMPLOYEES
LOCATIONS
DEPT30
DEPT60
DEPT40
DEPT50
EMP

TABLE_NAME
------------------------------------------------------------
JOB_GRADES
JOB_HISTORY
DEPT70
COUNTRIES

已选择15行。

这波我们就可以看到emp表了
给他建一个视图
在这里插入图片描述

SQL> create view cmp_view01 as select name,salary from emp;

视图已创建。

SQL> desc cmp_view01
 名称                                      是否为空? 类型
 ----------------------------------------- -------- ----------------------------
 NAME                                               VARCHAR2(50)
 SALARY                                             NUMBER(8,2)

as 是作为那个那个表的视图的关键字呗
as要记住,容易忘记

建议只对视图只做查询操作,不要操作视图,因为视图一变动,那个原表就会动的。

在这里插入图片描述
在这里插入图片描述
所以创建视图的时候,强制给视图赋予只读权限

SQL> create view emp_view01 as select name,salary from emp with read only;

视图已创建。

SQL> insert into emp_view01 values(1,2);
insert into emp_view01 values(1,2)
*1 行出现错误:
ORA-42399: 无法对只读视图执行 DML 操作

这样就避免了你乱搞
在这里插入图片描述
这题自然就选B了

SQL> create view emp_view02 as select name,salary from emp with check option;

视图已创建。

没有check option的话,你可以delete,update ,只限制where后面的条件有效

如果你把原来创建视图那个where条件改数据,这是不行的

在这里插入图片描述
with check option,对你当初创建视图那会的where有限制,不能动它

在这里插入图片描述
懂了with 这种权限了吧


总结

提示:重要经验:

1)
2)学好oracle,操作系统,计算机网络,即使经济寒冬,整个测开offer绝对不是问题!同时也是你考公网络警察的必经之路。
3)笔试求AC,可以不考虑空间复杂度,但是面试既要考虑时间复杂度最优,也要考虑空间复杂度最优。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冰露可乐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值