• 面试问题汇总


    计算机网络

    波特和比特的区别?

    波特是码元传输的踵率单位,说明每秒传多少个码元。码元传输速率也称为调制速率、波形速率或符号速率。

    比恃是信息量的单位,与码元的传输速率"波特"是两个完全不同的概念。
    但是,信息的传输速率"比特/秒"与码元的传输速率"波特"在数量上却有一定的关系。

    TCP/IP网络协议核心以及如何引出overeverything

    TCP/IP(传输控制协议/网间协议)是一种网络通信协议,它规范了网络上的所有通信设备,尤其是一个主机与另一个主机之间的数据往来格式以及传送方式。TCP/IP是INTERNET的基础协议,也是一种电脑数据打包和寻址的标准方法。
        核心是OSI模型,共七层,第7层应用层,第6层表示层,第5层会话层,第4层传输层,第3层网络层,第2层数据链路层,第1层物理层,从第七层传到第一层,接受方则相反。 上三层总称应用层,用来控制软件方面。 下四层总称数据流层,用来管理硬件。
    everything over IP:everything均以IP为基础,以后的网络中的设备都用IP(现在的电话网络就不是)。over:以...为基础。
    IP over everything:在现在的电通信网过渡到光通信网的过程中,IP、ATM、WDM会配合使用,渐渐过渡,既是IP over everything。over:凌驾于...之上

    电路交换与分组交换区别

    (1)、电路交换是以电路为目的的交换方式,即通信双方要通过电路建立联系,建立后没挂断则电路一直保持,实时性高。

     而分组交换是把信息分为若干分组,每个分组有分组头含有选路和控制信息,可以到达收信方,但是不能即时通信

    (2)、分组交换通信双方不是固定占有一条通信线路,而是在不同的时间一段一段地部分占有这条物理通路,因而大大提高了通信线路的利用率。

    电路交换时,数据直达,不同类型、不同规格、不同速率的终端很难相互进行通信,也难以在通信过程中进行差错控制。通信双方之间的物理通路一旦建立,双方可以随时通信,实时性强。

    (3)、分组交换由于数据进入交换结点后要经历存储、转发这一过程,从而引起转发时延(包括接收报文、检验正确性、排队、发送时间等),而且网络的通信量愈大,造成的时延就愈大,因此报文交换的实时性差,不适合传送实时或交互式业务的数据。

    电路交换连接建立后,物理通路被通信双方独占,即使通信线路空闲,也不能供其他用户使用,因而信道利用低。

    综上,若传输的数据量很大,而且传送时间远大于呼叫时间,则采用电路交换较为合适;当端到端的通路有很多段链路组成是,采用分组交换较为合适。从提高整个网络的信道利用率上看,分组交换优于电路交换。

    IPV4 和 IPV6 的区别

    (1)IPV6 地址长度为 128 比特,IPV4 地址长度为 32 比特;

    2)灵活的 IP 报文头部格式。使用一系列固定格式的扩展头部取代了 IPV4 中可变长度的选项字段。IPV6 中选项部分的出现方式也有所变化,使路由器可以简单路过选项而不做任何处理,加快了报文处理速度。

    3)IPV6 简化了报文头部格式,字段只有 7 个,加快报文转发,提高了吞吐量;

    4)提高安全性。身份认证和隐私权是 IPV6 的关键特性。

    5)支持更多的服务类型;

    6)允许协议继续演变,增加新的功能,使之适应未来技术的发展。

    TCP 的拥塞控制与流量控制的功能和区别?

    (1)、拥塞控制:防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不致过载。拥塞控制所要做的都有一个前提:网络能够承受现有的网络负荷。拥塞控制是一个全局性的过程,涉及到所有的主机、路由器,以及与降低网络传输性能有关的所有因素。

    (2)、流量控制:指点对点通信量的控制,是端到端的问题。流量控制所要做的就是抑制发送端发送数据的速率,以便使接收端来得及接收.

    集线器,路由器和交换机有什么区别

    集线器工作在第一层(即物理层),它没有智能处理能力,对它来说,数据只是电流而已,当一个端口的电流传到集线器中时,它只是简单地将电流传送到其他端口,至于其他端口连接的计算机接收不接收这些数据,它就不管了。   

    交换机工作在第二层(即数据链路层),它要比集线器智能一些,对它来说,网络上的数据就是 MAC 地址的集合,它能分辨出帧中的源 MAC 地址和目的 MAC 地址,因此可以在任意两个端口间建立联系,但是交换机并不懂得 IP 地址,它只知道 MAC 地址。  

    路由器工作在第三层(即网络层),它比交换机还要“聪明”一些,它能理解数据中的 IP 地址,如果它接收到一个数据包,就检查其中的 IP地址,如果目标地址是本地网络的就不理会,如果是其他网络的,就将数据包转发出本地网络。

    P2P 网络编程的特点

    P2P(对等网络,是一种有别于传统 C/S 客户/服务器式的分布式网络)直接将人们联系起来,让人们通过互联网直接交互。P2P 使得网络上的沟通变得容易、更直接共享和交互,真正地消除中间商。

    P2P 就是人可以直接连接到其他用户的计算机、交换文件,而不是像过去那样连接到服务器去浏览与下载。

    DNS 的递归查询与迭代查询

    (1).递归查询:

    一般客户机和服务器之间属递归查询,即当客户机向 DNS 服务器发出请求后,若 DNS 服务器本身不能解析,则会向另外的 DNS 服务器发出查询请求,得到结果后转交给客户机;

    (2).迭代查询(反复查询):

    一般 DNS 服务器之间属迭代查询,如:若 DNS2 不能响应 DNS1 的请求,则它会将 DNS3的 IP 给 DNS2,以便其再向 DNS3 发出请求;

    ARP 协议的过程

    ARP 协议是“Address Resolution Protocol”(地址解析协议)的缩写。在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的 MAC 地址的。在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的 MAC 地址。但这个目标 MAC 地址是如何获得的呢?它就是通过地址解析协议获得的。所谓“地址解析”就是主机在发送帧前将目标 IP 地址转换成目标 MAC 地址的过程。 ARP 协议的基本功能就是通过目标设备的 IP 地址,查询目标设备的 MAC 地址,以保证通信的顺利进行。

    计算机网络的接入类型都有哪些?

    局域网、城域网、广域网和互联网四种

    中继器,集线器,交换机,网桥,网关,路由器的功能作用,区别到底是什么?

    中继器: 物理层, 适用于完全相同的两类网络的互连,主要功能是通过对数据信号的重新发送或者转发,来扩大网络传输的距离。

    集线器:物理层,基本功能信息分发,它把一个端口接收的所有信号向所有端口分发出去。

    一些集线器在分发之前将弱信号重新生成。

    中继器与集线器的区别:区别在于集线器能够提供多端口服务,也称为多口中继器。

    网桥:数据链路层, 网桥(Bridge)像一个聪明的中继器, 网桥是一种对帧进行转发的技术,根据 MAC 分区块,可隔离碰撞。网桥将网络的多个网段在数据链路层连接起来。

    数据库原理

    数据库安全性与操作系统安全性的关系?

    安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题.只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出.系统安全保护措施是否有效是数据库系统的主要指标之一.数据库的安全性和计算机系统的安全性,包括操作系统,网络系统的安全性是紧密联系,相互支持的

    SQL 主键约束和唯一约束有什么区别呢?

    主键不能为空而唯一可以为空相同的就是都不允许重复

    什么是基本表?什么是视图?两者的区别和联系是什么?

    表是实实在在得保存数据的实体,写入的数据都保存在表中,而视图  是不保存数据的,也没有数据.视图就是一条  语句,实际上视图从表中去数据.只是给我们的感觉好像直接从表中  取得一样.  表可以建立各种触发器,可以建立索引,可以建立主健,约束等.  但是视图不能建立这些对象( 视图可以建立替代触发器)  .  表和视图可以更新, 但是视图的更新受到约束.  比如,group  by  和表连接生成的视图不能更新表是实实在在得  保存数据的实体,  写入的数据都保存在表中,  而视图是不保存数据的,  也没有数据.

    数据库索引

     目的:提供多种存储路径,加快查找速度。

    建立索引需要考虑的问题: 1.没有查询、统计的需要则不建 2.数据增删改频繁,系统会花费许多时间来维护索引,从而降低了查询效率。

    哪些视图是可以更新、哪些是不可以更新的

    (1):简单视图

    就是由一个表生成出来的视图,这种情况你更新她就和更新表一样

    (2):二次加工出来的简单视图

    仍然是一个表出来的视图,但是视图中存在通过函数或计算二次加工出来的其他字段。更新

    的时候只要不更新这些加工出来的字段也是可以更新的。

    (3):组合视图

    通过表之间关联联合等出来的复杂视图。这种视图更新的时候要注意你所更新的列要来自同

    一个表,也是可以更新的。

    (4):静态视图

    这种视图等同于表可以直接更新,但是更新的数据尽在视图中反映出来,不反映到原表

    (5):其他视图

    通过表函数等其他生成的更为复杂的视图。一般不可更新

    数据库完整性与安全性的区别

    完整性和安全性是两个不同的概念。前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出造成的无效操作和错误结果,而后者是防止数据库被恶意的破坏和非法的存取。当然,完整性和安全性是密切相关的。特别是从系统实现的方法来看,某一种机制常常既可以用于安全保护亦可用于完整性保证。

    数据库保护(访问)的内容有哪些?

    ① 利用权限机制完整性约束防止非法数据进入数据库;
    ② 提供故障恢复能力
    ③ 提供并发访问控制    【封锁、时间戳、乐观控制法、多版本并发控制】

    DBA 的职责是什么?

    DBA 负责全面管理和控制数据库系统.职责有:
    ① 决定数据库中的信息内容和结构:数据库中要存放哪些信息
    ② 决定数据库的存储结构和存取策略:获得较高的存取效率和存储空间利用率
    ③定义数据的安全性要求和完整性约束条件:负责确定各个用户对数据库的存取权限、 数
    据的保密级别和完整性约束条件
    ④监控数据库的使用和运行:转储数据、维护日志文件、故障恢复
    ⑤数据库的改进和重组重构:对运行情况进行记录、统计分析,以此来不断改进数据库设

    数据库系统和文件系统相比有什么优点?

    什么是完整性约束?

    完整性约束可确保数据库中的数据正确性和相容性,主要包括:实体完整性 【主属性不能为空】、参照完整
    【外码与主码之间的引用规则】、用户自定义完整性

    DBMS 【数据库管理系统】支持那几种数据模型?

    常用的是层次模型,网状模型和关系模型(最重要)。新兴的是面向对象数据模型
    象关系数据模型
    层次模型: 层次模型是指用树行结构表示实体及其之间的联系,树中每一个节点代表一
    个记录类型,树状结构表示实体型之间的联系。
    在一个层次模型中的限制条件是:有且仅有一个节点,无父节点,此节点为树的根;其
    他节点有且仅有一个父节点。
    网状模型的数据结构主要有以下两个特征:
    数据库
    (1)允许一个以上的节点无双亲。
    (2)一个节点可以有多于一个的双亲。
    网状模型:用有向图结构表示实体类型及实体间联系的数据结构模型称为网状模型
    关系实际上就是关系模式在某一时刻的状态或内容。也就是说,关系模式是型,关系是
    它的值。关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的,因为关系
    操作在不断地更新着数据库中的数据。但在实际当中,常常把关系模式和关系统称为关

    现实世界的实体以及实体间的各种联系均用关系来表示,从用户角度看,关系模型中数
    据的逻辑结构是一张二维表

    SQL(Structured Query Language)的四个组成部分?

    数据定义语言(Data Definition Language);
    查询语言(Query Language);
    数据操纵语言(Data Manipulation Language);
    数据控制语言(Data Control Language)

    数据库操纵语言举例

    数据操纵语言 DML(Data Manipulation Language),用户通过它可以实现对数据库的
    基本操作。例如,对表中数据的查询(select)插入(insert)删除(delete)
    修改(update)

    介绍下有哪些应用数据库?

    大概知道的有:
    桌面型:Access、Foxpro、DBase
    企业型:SQL Server 系列、MySQL、Oracle、Sybase

    非关系型数据库:Nosql

    什么是数据独立性。

    数据独立性表示应用程序与数据库中存储的数据不存在依赖关系,包括逻辑数据独立性
    物理数据独立性

    三个模式两级映像

    逻辑数据独立性

    有了外模式/模式映像,模式改变时,只需对外模式/模式映像做出相应改变,可使外模式不变,则以外模式为依据编写的应用程序就不受影响,即逻辑数据独立性
    物理数据独立性

    有了模式/内模式映像,当内模式改变时,只要模式/内模式映像做出相应改变,使模式保持不变,则应用程序不受影响,从而保证数据与程序之间的物理独立性 

    1NF 是啥,数据模式?

    第一范式 是数据库最基本的要求,即每一个分量必须是不可分的数据项;
    第二范式数据库非主属性对码的部分函数依赖,即每一个非主键完全函数依赖于主
    键;
    第三范式非主属性对码的传递依赖,即不包含已在其他表中已包含的非主键信息,
    防止数据冗余;
    数据模型:是数据特征的抽象,包括:数据结构、数据操作和数据约束

    数据库的关系操作有哪些?各有什么作用?

    关系模型中常用的关系操作包括:选择(Select)、投影(Project)、连接(Join)、
    除(Divide)、并(Union)、交(Intersection)、差(Difference)、笛卡尔积等查
    询(Query)操作和增加(Insert)、删除(Delete)、修改(Update)操作两大部分。
    查询的表达能力是其中最主要的部分。
    关系操作的特点是集合操作方式,即操作的对象和结果都是集合。这种操作方式也称为
    一次一集合(set-at-a-time)的方式。相应地,非关系数据模型的数据操作方式则为
    一次一记录(record-at-a-time)的方式

    DB 并发操作通常带来哪三类问题?

    丢失修改(Lost Update):【A改B】改当一个事务修改了数据,并且这种修改还没有还没有提交
    到数据库中时,另外一个事务又对同样的数据进行了修改,并且把这种修改提交到了数
    据库中。这样,数据库中没有出现第一个事务修改数据的结果,好像这种数据修改丢失
    了一样。
    脏读(Dirty Read):【A改B读】当一个事务正在访问数据,并对数据进行了修改,而这种修改还
    没有提交到数据库中,这时,另一个事务也访问这个数据,然后使用了这个数据。因为
    这个数据是还没有提交的数据,那么另一个事务读到的这个数据是脏数据,依据脏数据
    所做的操作可能是不正确的。
    不可重复读(Non-Repeatable Read):【A读B改A读】在一个事务内,多次读同一数据。在这个事务
    还没有结束时,另一个事务也访问该同一数据,那么,在第一个事务中的两次读数据之
    间,由于第二个事务的修改,第一个事务两次读到的数据可能是不一样的。

    两段锁协议

    所谓两段锁协议是指所有事务必须分两个阶段对数据项加锁和解锁:

    1. 在对任何数据进行读、写操作之前,首先要申请并获得对该数据的封锁;

    2. 而且在释放一个封锁之后,事务不再申请和获得任何其他封锁。

    所谓“两段”锁的含义是,事务分为两个阶段,第一阶段是获得封锁,也称为扩展阶段。

    在这阶段,事务可以申请获得任何数据项上的任何类型的锁,但是不能释放任何锁。第
    二阶段是释放封锁,也称为收缩阶段。在这阶段,事务可以释放任何数据项上的任何类
    型的锁,但是不能再申请任何锁。
    例如事务 T1 遵守两段锁协议,其封锁序列是:(如右)
    又如事务 T2 不遵守两段锁协议,其封锁序列是:
    Slock A … Unlock A … Slock B … Xlock C … Unlock C … Unlock B;
    可以证明,若并发执行的所有事务均遵守两段锁协议,则对这些事务的任何并发调度策
    略都是可串行化的。
    另外要注意两段锁协议和防止死锁的一次封锁法的异同之处。一次封锁法要求每个事务
    必须一次将所有要使用的数据全部加锁,否则就不能继续执行,因此一次封锁法遵守两
    段锁协议;但是两段锁协议并不要求事务必须一次将所有要使用的数据全部加锁,因此
    遵守两段锁协议的事务可能发生死锁

    事务的四个特点?事务的概念:用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不

    可分割的工作单位。
    1. 一致性(Consistency)
    2. 原子性(Atomicity)
    3. 隔离性(Isolation)
    4. 持续性(Durability)数据库故障的种类?1、事务内部的故障 2、系统故障 3。介质故障 4。计算机病毒

    据库恢复策略有哪几种?

    1. 数据转储(数据冗余)2.登记日志文件

    数据库的三级模式

    1、模式又称概念模式或逻辑模式,对应于概念级,是对数据库中全部数据的逻辑结构和
    特征的总体描述,是所有用户的公共数据视图(全局视图),反映了数据库系统的整体观。
    2、外模式又称子模式或用户模式,对应于用户级。它是某个或某几个用户所看到的数据库
    的数据视图,是与某一应用有关的数据的逻辑表示。外模式是从模式导出的一个子集,包
    含模式中允许特定用户使用的那部分数据。外模式反映了数据库的用户观。
    3、内模式又称存储模式,对应于物理级,它是数据库中全体数据的内部表示或底层描述,
    是数据库最低一级的逻辑描述,它描述了数据在存储介质上的存储方式和物理结构,对应
    着实际存储在外存储介质上的数据库。内模式是数据库的存储观。
    在一个数据库系统中,只有唯一的数据库,因而作为定义、描述数据库存储结构的内模式
    和定义、描述数据库逻辑结构的模式,也是唯一的,但建立在数据库系统之上的应用则是
    非常广泛、多样的,所以对应的外模式不是唯一的,也不可能是唯一的。

    什么是表?什么是视图?两者的区别和联系是什么?

    表是实实在在得保存数据的实体,写入的数据都保存在表中,而视图是不保存数据的,
    也没有数据。视图就是一条语句,实际上视图从表中取数据。只是给我们的感觉好像
    直接从表中取得一样。表可以建立各种触发器,可以建立索引,可以建立主健,约束等。
    但是视图不能建立这些对象(视图可以建立替代触发器)。表和视图可以更新,但
    是视图的更新受到约束。比如,groupby 和表连接生成的视图不能更新表是实实在在
    得保存数据的实体,写入的数据都保存在表中,而视图是不保存数据的,也没有数据。
    联系:可以理解为视图的数据都是从表中取出来,视图就是你定下的一个框框而已,内容
    都是在表中。

    1NF 有哪些缺点?

    1。数据冗余太大(每一个系的系主任名字重复出现)
    2。更新异常(某个系更换系主任之后,必须将该系学生有关的每一个元组)
    3,插入异常(如果一个系刚成立,尚无学生,就无法将老师存入到数据库中)
    4,删除异常(如果学生都毕业了,在删除学生时,把这个系的系主任的所有信息都删除
    了)

    数据字典通常包含五个部分

    1。数据项 2。数据结构 3。数据流 4。数据存储 5。处理过程

    数据库中视图的优点

    ① 化用户操作;
    ② 使用户能以多种角度看待统一数据;
    ③ 对重构数据库提供了一定程度的逻辑独立性;
    ④ 对机密数据提供安全保护;
    ⑤ 可以更清晰的表达查询。

    在做数据库开发中使用视图的优点有

    1。可以访问表中列的子集。在表中有些列是比较敏感的数据不想用户看到的,如用户密
    码,员工工资等,用视图可以隐藏这些列。
    2。可以访问表中行的子集。有时不想让用户看到与 TA 无关的数据时,可以在 where 条
    件中过滤,如企业中子公司的员工只能看到 TA 所在子公司的同事资料,而不想其它子公
    司员工资料也显示出来,用过滤后查询出来的数据集组成视图。
    3。可以重命名列名。在表中有些列名定义没有代表意义,如列“abc”,为了让用户看到
    列名就可以知该列是什么数据,可以在组建视图时重命名列名。
    4。可以快速访问两表或多表连接所组成的数据。有时要访问表间连接所组成的数据集,
    可以把查询出来的数据集定义成视图,可以帮助快速访问所需的数据。
    5。可以快速读取用聚合函数运算所返回的数据集。有时用户要读取经过用聚合函数复
    杂运算后的结果集,每次读取都是很耗时,这时可以把这运算后的数据集组成视图,就可
    以避免每次读取都要运算的消耗。总的来讲,使用视图在提高安全性的同时也加快查询
    的速度。

    数据库的三要素

    数据模型是一组严格定义的概念的集合,这些概念精确地描述了系统的静态特征(数据
    结构)、动态特征(数据操作)和完整性约束条件,这就是数据模型的三要素。

    数据库索引

    目的:提供多种存储路径,加快查找速度。建立索引需要考虑的问题:1。没有查询、统
    计的需要则不建 2。数据增删改频繁,系统会花费许多时间来维护索引,从而降低了查询
    效率。

    哪些视图是可以更新、哪些是不可以更新的,请举例说明

    行列子集视图可以更新;
    ① 由两个以上基本表导出的视图,不可以更新;
    ② 字段来自于字段表达式或常数的视图,不允许(Insert、Update),但是可以 Delete;
    ③ 字段来自聚集函数的视图不可以更新;
    ④ 定义中含有 Group By 字句的视图,不可以更新;
    ⑤ 定义中含有 DISTINCT 字句的视图,不可以更新;
    ⑥ 定义中有嵌套查询,并且内层查询的 From 字句中涉及的表也是导出该视图的基本表
    的视图,不可以更新;
    ⑦ 不允许更新的视图上定义的视图也不允许更新。

    日志文件的定义与作用

    日志文件是用来记录事务对数据库的更新操作的文件。
    作用:在数据库恢复中起着重要的作用。并协助后备副本进行介质故障恢复。
    日志文件主要包含:事务标识、操作的类型、操作对象、更新前数据的旧值、更新后数
    据的新值。

    数据库完整性与安全性的区别?

    完整性和安全性是两个不同的概念。前者是为了防止数据库中存在不符合语义的数据,防
    止错误信息的输入和输出造成的无效操作和错误结果, 而后者是防止数据库被恶意的破坏
    和非法的存取。当然,完整性和安全性是密切相关的。特别是从系统实现的方法来看,某
    一种机制常常既可以用于安全保护亦可用于完整性保证。

    数据库有哪几种备份策略,大概的操作

    完全备份、事务日志备份、差异备份、文件备份。

    DBMS 控制管理功能

    ① 数据库定义和创建;
    ② 数据组织、存储和管理;
    ③ 数据存取;
    ④ 数据库事务管理和运行管理;
    ⑤ 数据库的建立和维护。

    数据库采用什么机制来保证数据库并发操作的正确性?

    并发控制:封锁、时间戳、乐观控制法。

    数据库安全系统和计算机安全系统的人关系

    安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题。只是在数据库
    系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突
    出。系统安全保护措施是否有效是数据库系统的主要指标之一。数据库的安全性和计
    算机系统的安全性,包括操作系统,网络系统的安全性是紧密联系,相互支持的。

    函数模板和类模板的区别

    -- 实例化不同。

    数据库管理系统的完整性要完成的功能

    -- 防止不合语意的数据,防止无效操作和错误结果

    数据库的两种独立性

    物理独立性指的是应用程序与数据存放在相互独立的磁盘地址,内模式与模式映象保证
    了其物理独立特性;
    逻辑独立性指的数据与程序逻辑结构上的独立特性,数据或应用程序的逻辑结构发生变
    化性都不影响对方,外模式与模式映身保证了其逻辑独立性。

    DBMS 的控制操作有哪些

    ①数据的安全性保护;②数据的完整性检查;③并发控制;④数据库恢复

    什么是数据库控制语言,试举例说明

    DCL 是用来设置或更改数据库用户角色权限的语句,主要包括 GRANT(授权)、DENY
    (拒绝)、REVOKE(删除)三类。

    数据库两级模式的作用?

    三模式->①外模式/模式映像;②模式/内模式映像;
    保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。

    笛卡尔积

    在数学中,两个集合 X 和 Y 的笛卡儿积(Cartesian product),又称直积,表示为 X
    × Y,是其第一个对象是 X 的成员而第二个对象是 Y 的一个成员的所有可能的有序对。

    数据库中 primary key 约束和 unique 约束有什么区别?

    主键约束:有一列或列的组合,其值能唯一的标识表中的每一行。
    唯一约束:不允许数据库表在指定列上具有相同的值,但允许有空值。
    区别:一个表可以定义多个唯一约束,但只能定义一个主键约束;空值的列上可以定义
    唯一约束,不能定义主键约束。

    操作系统

    中断和陷入有什么异同?

    外中断时指来自处理机和内存外部的中断,如I/O中断、定时器中断、外部信号中断等。狭义上也叫中断;   

    内中断主要指在处理机和内存内部产生的中断,也称陷入,如校验错、页面失效、溢出、除数为零等;

    中断和陷阱的主要区别:

    (1)陷入通常由处理机正在执行的现行指令引起,而中断则是由与现行指令无关的中断源引起的。
    (2) 陷阱处理程序提供的服务为当前进程所用,而中断处理程序提供的服务则不是为了当前进程的。
    (3) CPU在执行完一条指令之后,下一条指令开始之前响应中断,而在一条指令执行中也可以响应陷阱。

    计算机网络和分布式计算机系统的区别?

    两者在计算机硬件连接、系统拓朴结构和通信控制等方面基本都是一样的,它们都具有通信和资源共享的功能。区别关键在于:分布式计算机系统是在分布式计算机操作系统支持下,进行分布式数据库处理的,也就是说各互联的计算机可以互相协调工作,共同完成一项任务,多台计算机上并行运行。且具有透明性,用户不知道数据、资源的具体位置,整个网络中所有计算机就像是一台计算机一样;而计算机网络却不具备这种功能,计算机网络系统中的各计算机通常是各自独立进行工作的

    父子进程是否可以并发运行?

    可以

    设备驱动器是否属于操作系统,他的作用是什么?

    不是,驱动程序是另外安装的软件,是操作系统控制并且和硬件之间通讯的桥梁(程序)

    线程、进程、程序和任务的区别?

    (1)、任务是最抽象的, 是一个一般性的术语, 指由软件完成的一个活动。一个任务既可以是一个进程,也可以是一个线程。简而言之,它指的是一系列共同达到某一目的的操作。例如,读取数据并将数据放入内存中。这个任务可以作为一个进程来实现,也可以作为一个线程(或作为一个中断任务)来实现。   

    (2)、进程常常被定义为程序的执行。可以把一个进程看成是一个独立的程序,在内存中有其完备的数据空间和代码空间。一个进程所拥有的数据和变量只属于它自己。  

    (3)、线程则是某一进程中一路单独运行的程序。也就是说, 线程存在于进程之中。一个进程由一个或多个线程构成, 各线程共享相同的代码和全局数据, 但各有其自己的堆栈。由于堆栈是每个线程一个, 所以局部变量对每一线程来说是私有的。由于所有线程共享同样的代码和全局数据,它们比进程更紧密,比单独的进程间更趋向于相互作用,线程间的相互作用更容易些,因为它们本身就有某些供通信用的共享内存:进程的全局数据进程的全局数据进程的全局数据进程的全局数据

    (4)、程序只是一组指令的有序集合,它本身没有任何运行的含义,它只是一个静态的实体。

    处理中断的过程

    请求中断→响应中断→关闭中断→保留断点→中断源识别→保护现场→中断服务子程序→恢复现场→中断返回

    分页、分段、断页式的特点,为什么要引入?

    分页是为了提高内存的利用率,提高计算机性能,且分页通过硬件机制来实现,对用户完全透明。

    分段是为了方便编程,信息保护和共享、动态增长及动态链接等多方面的需要。

    断页式是两者的结合。

    计算机系统怎样实现存储保护

    (1).  防止地址越界(对进程所产生的地址必须加以检查,发生越界时产生中断,由操作系统

    进行相应处理)

    (2).  防止操作越权(对属于自己区域的信息,可读可写:对公共区域中允许共享的信息或获

    得授权可使用的信息,可读而不可修改;对未授权使用的信息,不可读,不可写)

    MMU

    Memory Management Unit 的缩写,中文名是内存管理单元,它是中央处理器(CPU)中用来管理虚拟存储器、物理存储器的控制线路,同时也负责虚拟地址映射为物理地址,以及提供硬件机制的内存访问授权.

    多线程,真的提高了效率吗?

    多线程效率,我认为未必会高,而且有时候相反会低。

    多线程并不是为了提高效率,而是不必等待  可以并行执行多条数据。

    可以这么想  我们通过 xp 系统复制文件。你可以复制一份文件  这叫是单线呈,但是你要等这个复制完了才能复制另一份文件,而且不能多复制。这样很难受,所以你可以选择多复制文件,这就是多线程。但复制多份文件用的时间未必会比一份一份文件所用时间少。只是它合理利用了时间进行了多个操作。

    如果是买票系统  就会用到多线呈。买票是同时进行的,如果一个用户一个用户等下去

    不是办法,所以可以多个用户同时买票,效率也就提高了。这里的效率不是执行的效率  而

    是时间的合理利用,多个线呈同时进行。

    中断的作用

    中断是计算机系统结构一个重要的组成部分。在中断机制中的硬件部分(中断装置)的作用就是在 CPU 每执行完一条指令后,判别是否有事件发生,如果没有事件发生,CPU继续执行;若有事件发生,中断装置中断原先占用 CPU 的程序的执行,把被中断程序的断点保存起来,让操作系统的处理服务程序占用 CPU 对事件进行处理,处理完后,再让被中断的程序继续占用 CPU 执行下去。

    DMA 的优先级为什么比 CPU 的优先级高?

    因为 DMA 请求得不到及时响应,I/O 传输数据可能会丢失

    虚拟内存容量由什么决定?

    虚拟存储区的容量与物理主存大小无关,而受限于计算机的地址结构和可用磁盘容量。

    RAID 的工作原理

    RAID(独立磁盘冗余阵列(Redundant Array of Independent Disks))通过条带化存储和奇偶校验两个措施来实现其冗余和容错的目标。条带化存储意味着可以一次写入一个数据块的方式将文件写入多个磁盘。条带化存储技术将数据分开写入多个驱动器,从而提高数据传输速率并缩短磁盘处理总时间。这种系统非常适用于交易处理、但可靠性却很差,因为系统的可靠性等于最差的单个驱动器的可靠性。

    奇偶校验通过在传输后对所有数据进行冗余校验可以确保数据的有效性。利用奇偶校验,当 RAID 系统的一个磁盘发生故障时,其它磁盘能够重建该故障磁盘。在这两种情况中,这些功能对于操作系统都是透明的。由磁盘阵列控制器(DAC)进行条带化存储和奇偶校验控制。

    什么是程序局部性,为什么会有程序的空间局部性?

    程序局部性是指程序在运行时呈现出局部性规律,在一段时间间隔内,程序的执行是
    局限在某个部份,所访问的存储空间也只局限在某个区域。空间局部性是指若一个存储
    单元被访问,那么它附近的单元也可能被访问,这是由于程序的顺序执行引起的。

    为了实现重定位需要哪些硬件?

    最简单的方式是在系统中增设一个重定位寄存器,用来存放正在执行作业的内存地址,
    每次访问数据时,由硬件自动将相对地址与重定位寄存器中的起始地址相加,形成实
    际的特理地址。当然在分页式与分段式系统中,实现重定位需要地址变换机构,以及快
    表等硬件的支持。

    在交互式系统中,非剥夺是不是一个好的策略?为什么?

    非剥夺方式:分派程序一旦把处理机分配给某进程后便让它一直运行下去,直到进程完
    成或发生某事件而阻塞时,才把处理机分配给另一个进程。
    剥夺方式:当一个进程正在运行时,系统可以基于某种原则,剥夺已分配给它的处理机,
    将之分配给其它进程。剥夺原则有:优先权原则、短进程、优先原则、时间片原则。
    在分时系统中不剥夺并不是一个好的策略。因为,在分时系统中,除了交互性以外,及
    时性是很重要的性能因素。当一个作业被阻塞后,CPU 就完全空闲了,别的用户的及时性
    就无法保证了,而完全可以把这些时间分配给别的作业运行。以提高整体的吞吐量。
    系统调用的定义
    系统调用是 OS 与应用程序之间的接口,它是用户程序取得 OS 服务的惟一途径。它与一
    般的过程调用的区别:
    运行在不同的系统状态。调用程序在运行在用户态,而被调用的程序运行在系统态,通
    过软中断机制,先由用户态转为系统态,经枋心分析后,才能转向相应的系统调用处理
    子程序;
    一般的过程调用返回后继续执行,但对系统调用,当调用的进程仍具有最高优先权时,
    才返回到调用进程继续处理;否则只能等被重新调度;

    死锁是什么?

    指多个有关进程由于争夺资源而造成的一种僵局,在无外力的情况下这些进程都将无法
    再向前推进的状态。

    CPU 不执行程序的时候干什么?

    当没有被任何程序使用的时候,计算机的处理器被认为是空闲的。当然下面提到的空闲
    任务不在此列中。
    当有程序利用 CPU 空闲时间的时候,就意味着它以较低的优先权运行着,以便不会影响
    那有正常优先权的程序运行。 一般来讲,这会引起 CPU 消耗更多的电能,而大多数的现代
    CPU 当它们空闲的时候是能够进入省电模式的。大多数操作系统都有个空闲任务,它是
    一个特殊的任务。仅当 CPU无事可做的时候由操作系统调度器载入它。在现代的处理器中,
    操作系统
    HLT 停机指令节省了大量的电能与执量,而空闲任务几乎总是由一个重复执行 HLT 停机
    指令的循环组成。

    举例解释一下同步和互斥

    -- 同步-- 协同完成, 互斥 -- 保证临界资源独占访问
    同步表现为直接制约,如管道通信,一个进程写,一个进程读,它们是相互制约的。
    互斥表现为间接制约,比如多个进程同时请求打印机(没使用 SPOOLing 技术)、 多个进程同
    时请求一张网卡发送数据包等。

    解释一下管程

    管程是由一组局部变量、 对局部变量进行操作的一组过程和对局部变量进行初始化的语句序列组成。引入它的目的是因为 Wait/Singal 操作太过分散,对它的维护很麻烦且容易造成死锁。 管程的特点是:管程的过程只能访问管程的局部变量,管程的局部变量只能由其过程来访问;任何时刻只能有一个进程进入管程执行;进程只能通管程提供的过程入口进入管程;

    在可变分区管理中,需要哪些硬件机制

    采用可变分区方式管理时,一般均采用动态重定位方式装入作业。地址变换要靠硬件
    支持,主要是两个寄存器:基址寄存器和限长寄存器,限长寄存器存放作业所占分区的长
    度,基址寄存器则存放作业所占分区的起始地址,这两个值确定了一个分区的位置和大
    小。转换时根据逻辑地址与限长值比较,如果不有超过这个值,表示访问地址合法,再
    加上基址寄存器中的值就得到了绝对地址了,否则形成“地址越界”中断。

    中断和陷入有什么异同?

    外中断时指来自处理机和内存外部的中断,如 I/O 中断、定时器中断、外部信号中断等。
    狭义上也叫中断;
    内中断主要指在处理机和内存内部产生的中断,也称陷入,如校验错、页面失效、溢出、
    除数为零等;

    中断和陷入的主要区别:

    (1)陷入通常由处理机正在执行的现行指令引起,而中断则是由与现行指令无关的中断
    源引起的。
    (2)陷入处理程序提供的服务为当前进程所用,而中断处理程序提供的服务则不是为了当
    前进程的。
    (3)CPU 在执行完一条指令之后,下一条指令开始之前响应中断,而在一条指令执行中也
    可以响应陷阱。

    计算机网络和分布式计算机系统的区别?

    两者在计算机硬件连接、系统拓朴结构和通信控制等方面基本都是一样的,它们都具有
    通信和资源共享的功能。
    区别关键在于:分布式计算机系统是在分布式计算机操作系统支持下,进行分布式数据
    库处理的,也就是说各互联的计算机可以互相协调工作,共同完成一项任务,多台计算
    机上并行运行。且具有透明性,用户不知道数据、资源的具体位置,整个网络中所有计算
    机就像是一台计算机一样;而计算机网络却不具备这种功能,计算机网络系统中的各
    计算机通常是各自独立进行工作的。

    为什么引入多道程序技术?

    因为引入多道程序技术后,可以进一步提高了 CPU 利用率(阻塞),提高内存和 I/O 设备
    利用率(小作业把内存浪费了),增加系统吞吐量(两都提高后的必然)。

    什么是管态?什么是目态?它们与进程运行状态的关系是什么?

    CPU 交替执行操作系统程序和用户程序。管态又叫特权态,系统态或核心态。CPU 在管态下
    可以执行指令系统的全集。通常,操作系统在管态下运行。
    目态又叫常态或用户态。机器处于目态时,程序只能执行非特权指令。用户程序只能在
    目态下运行,如果用户程序在目态下执行特权指令,硬件将发生中断,由操作系统获
    得控制,特权指令执行被禁止,这样可以防止用户程序有意或无意的破坏系统。

    n 个任务一个 cup,阻塞,运行,就绪的进程最多有多少个?

    阻塞 n 个;运行 1 个;就绪 n-1 个;
    父子进程是否可以并发运行
    可以并发运行,因为不管是父进程还是子进程都是系统分配资源的最小单位,都是独立
    的进程,是可以并发运行的,跟进程和线程的关系不一样。

    缓冲的定义,为什么引入

    引入缓冲技术主要是为了解决设备速度差异引起的效率问题。如果两个设备速度相差很
    大,快速设备总是需要等待慢速设备,快速设备效率低下。在设备之间加上缓冲区,慢
    速设备将数据送入缓冲区时,快速设备不需等待,可以处理其他任务,直到缓冲区满时
    才通过中断通知快速设备处理缓冲区中的数据,将提高设备工作的独立性,提高快速设
    备的利用率。
    (1)缓和 CPU 与 IO 设备间速度不匹配的矛盾
    (2)减少对 CPU 的中端频率,放宽对 CPU 中断响应时间的限制
    (3)提高 CPU 和 IO 设备之间的并行性。

    进程调度算法

    1 先来先服务 FCFS 2 短作业优先(SJF) 3 高优先权优先调度算法
    4 高响应比调度算法 5 时间片轮转法 6 多级反馈队列调度

    进程三个状态的转换

    就绪态,当进程已分配到除 cpu 以外的所以必要资源后只要能再获得处理机便可立即执
    行这时的进程状态转为就绪模式。执行状态,指进程已获得处理机其程序正在执行。阻
    塞状态,进程因发生某件事如请求 io 而暂停执行的状态。

    设备驱动程序是否属于操作系统,他的作用是什么?

    不是,驱动程序是另外安装的软件,是操作系统控制并且和硬件之间通讯的桥梁(程序)

    线程、进程、程序和任务的区别?

    任务是最抽象的,是一个一般性的术语,指由软件完成的一个活动。一个任务既可以是一
    个进程,也可以是一个线程。简而言之,它指的是一系列共同达到某一目的的操作。例
    如,读取数据并将数据放入内存中。这个任务可以作为一个进程来实现,也可以作为一
    个线程(或作为一个中断任务)来实现。
    进程常常被定义为程序的执行。可以把一个进程看成是一个独立的程序,在内存中有其
    完备的数据空间和代码空间。一个进程所拥有的数据和变量只属于它自己。
    线程则是某一进程中一路单独运行的程序。也就是说,线程存在于进程之中。一个进程由
    一个或多个线程构成,各线程共享相同的代码和全局数据,但各有其自己的堆栈。由于堆
    栈是每个线程一个,所以局部变量对每一线程来说是私有的。由于所有线程共享同样的代
    码和全局数据,它们比进程更紧密,比单独的进程间更趋向于相互作用,线程间的相互
    作用更容易些,因为它们本身就有某些供通信用的共享内存:进程的全局数据进程的全
    局数据进程的全局数据进程的全局数据
    程序只是一组指令的有序集合,它本身没有任何运行的含义,它只是一个静态的实体。

    处理中断的过程

    请求中断→响应中断→关闭中断→保留断点→中断源识别→保护现场→中断服务子程
    序→恢复现场→中断返回
    1. 请求中断
    当某一中断源需要 CPU 为其进行中断服务时,就输出中断请求信号,使中断控制系
    统的中断请求触发器置位,向 CPU 请求中断。系统要求中断请求信号一直保持到
    CPU 对其进行中断响应为止。
    2. 中断响应
    CPU 对系统内部中断源提出的中断请求必须响应,而且自动取得中断服务子程序的
    入口地址,执行中断服务子程序。对于外部中断,CPU 在执行当前指令的最后一个时
    钟周期去查询 INTR 引脚,若查询到中断请求信号有效,同时在系统开中断(即 IF=1)的
    情况下,CPU 向发出中断请求的外设回送一个低电平有效的中断应答信号,作为对
    中断请求 INTR 的应答,系统自动进入中断响应周期。
    3. 关闭中断
    CPU 响应中断后,输出中断响应信号,自动将状态标志寄存器 FR 或 EFR 的内容压
    入堆栈保护起来,然后将 FR 或 EFR 中的中断标志位 IF 与陷阱标志位 TF 清零,从
    而自动关闭外部硬件中断。因为 CPU 刚进入中断时要保护现场,主要涉及堆栈操作,
    此时不能再响应中断,否则将造成系统混乱。
    4. 保护断点
    保护断点就是将 CS 和 IP/EIP 的当前内容压入堆栈保存,以便中断处理完毕后能返
    回被中断的原程序继续执行,这一过程也是由 CPU 自动完成。
    5. 中断源识别
    当系统中有多个中断源时,一旦有中断请求,CPU 必须确定是哪一个中断源提出的
    中断请求,并由中断控制器给出中断服务子程序的入口地址,装入 CS 与 IP/EIP 两个寄
    存器。CPU 转入相应的中断服务子程序开始执行。
    6. 保护现场
    主程序和中断服务子程序都要使用 CPU 内部寄存器等资源,为使中断处理程序不破
    坏主程序中寄存器的内容,应先将断点处各寄存器的内容压入堆栈保护起来,再进入
    的中断处理。现场保护是由用户使用 PUSH 指令来实现的。
    7. 中断服务
    中断服务是执行中断的主体部分,不同的中断请求,有各自不同的中断服务内容,需要
    根据中断源所要完成的功能,事先编写相应的中断服务子程序存入内存,等待中断请求
    响应后调用执行。
    8. 恢复现场
    当中断处理完毕后,用户通过 POP 指令将保存在堆栈中的各个寄存器的内容弹出,
    即恢复主程序断点处寄存器的原值。
    9. 中断返回
    在中断服务子程序的最后要安排一条中断返回指令 IRET,执行该指令,系统自动将
    堆栈内保存的 IP/EIP 和 CS 值弹出,从而恢复主程序断点处的地址值,同时还自动
    恢复标志寄存器 FR 或 EFR 的内容,使 CPU 转到被中断的程序中继续执行。

    分页、分段、断页式的特点,为什么要引入?

    分页是为了提高内存的利用率,提高计算机性能,且分页通过硬件机制来实现,对用户完
    全透明。分段是为了方便编程,信息保护和共享、动态增长及动态链接等多方面的需要。
    断页式是两者的结合。

    计算机系统怎样实现存储保护?

    1。防止地址越界(对进程所产生的地址必须加以检查,发生越界时产生中断,由操作系
    统进行相应处理)
    2。防止操作越权(对属于自己区域的信息,可读可写:对公共区域中允许共享的信息或
    获得授权可使用的信息,可读而不可修改;对未授权使用的信息,不可读,不可写)

    MMU?

    MMU 是 MemoryManagementUnit 的缩写, 中文名是内存管理单元, 它是中央处理器 (CPU)
    中用来管理虚拟存储器、物理存储器的控制线路,同时也负责虚拟地址映射为物理地址,
    以及提供硬件机制的内存访问授权。

    实时系统的分类

    我们可以将通常人们所说的实时系统可分为两种类型:软实时系统和硬实时系统。在软实
    时系统中,系统的宗旨是使各个任务运行得越快越好,并不要求限定某一任务必须在多长
    时间内完成,这类系统并不具有真正实时操作的要求,其对操作系统的实时性要求较低,
    一般的实时操作系统均能满足要求。在硬实时系统中,各任务不仅要执行无误而且要做到
    准时,其对操作系统的实时性要求较严格,在系统设计时要非常注意实时性性能的满足,
    对实时操作系统的伪实时的特征应进行仔细分析。大多数实际应用的实时系统是以上二
    者的结合。

    调度的基本准则

    1。CPU 利用率 2 系统吞吐量 3。周转时间 4。等待时间 5。响应时间

    多线程,真的提高了效率吗?

    多线程效率,我认为未必会高,而且有时候相反会低。多线程并不是为了提高效率,而
    是不必等待可以并行执行多条数据。可以这么想我们通过 xp 系统复制文件。你可以复制
    一份文件这叫是单线呈,但是你要等这个复制完了才能复制另一份文件,而且不能多复制。
    这样很难受,所以你可以选择多复制文件,这就是多线程。但复制多份文件用的时间未
    必会比一份一份文件所用时间少。只是它合理利用了时间进行了多个操作。如果是买票
    系统就会用到多线呈。买票是同时进行的,如果一个用户一个用户等下去不是办法,所
    以可以多个用户同时买票,效率也就提高了。这里的效率不是执行的效率而是时间的合
    理利用,多个线呈同时进行。

    中断的作用

    答:中断是计算机系统结构一个重要的组成部分。在中断机制中的硬件部分(中断装置)
    的作用就是在 CPU 每执行完一条指令后,判别是否有事件发生,如果没有事件发生,CPU
    继续执行;若有事件发生,中断装置中断原先占用 CPU 的程序的执行,把被中断程序的
    断点保存起来,让操作系统的处理服务程序占用 CPU 对事件进行处理,处理完后,再让
    被中断的程序继续占用 CPU 执行下去。(所以中断装置的作用总的来说就是使操作系统
    可以控制各个程序的执行)

    磁盘调度算法

    1。先来先服务算法 2。最短寻找时间优先算法 3。扫描算法 4。循环扫描算法

    DMA 的优先级为什么比 CPU 的优先级高?

    因为 DMA 请求得不到及时响应,I/O 传输数据可能会丢失

    虚拟内存容量由什么决定?

    虚拟存储区的容量与物理主存大小无关,而受限于计算机的地址结构和可用磁盘容量。

    RAID 的工作原理

    RAID(独立磁盘冗余阵列(Redundant Array of Independent Disks))通过条带化存储
    和奇偶校验两个措施来实现其冗余和容错的目标。 条带化存储意味着可以一次写入一个数
    据块的方式将文件写入多个磁盘。条带化存储技术将数据分开写入多个驱动器,从而提高
    数据传输速率并缩短磁盘处理总时间。这种系统非常适用于交易处理、但可靠性却很差,
    因为系统的可靠性等于最差的单个驱动器的可靠性。
    奇偶校验通过在传输后对所有数据进行冗余校验可以确保数据的有效性。 利用奇偶校验,
    当 RAID 系统的一个磁盘发生故障时,其它磁盘能够重建该故障磁盘。在这两种情况中,
    这些功能对于操作系统都是透明的。由磁盘阵列控制器(DAC)进行条带化存储和奇
    偶校验控制

    操作系统在发生缺页中断时,是否一定会执行页面淘汰算法

    -- 不一定,若所缺页系统中有,则调入,缺页页地址错误则结束进程。

    解决死锁的三个方法

    预防 避免 检测

    文件关闭的过程

    第一步:通过检索文件目录来找到指定文件;
    第二步:调用“close()”关闭文件,把该文件从打开文件表中的表目尚删除掉。

    在基于优先级调度的系统中,当一个进程正在执行时,这时来了一个高优先级的进程,是否会立即终止现行的进程?为什么?

    不一定,首先非抢占式系统中,要等待当前进程执行完毕才可以抢占 CPU,其次在抢占
    式系统中,优先权检测也是在每条指令执行完毕才检测,所以不一定会立即终止。

    文件连续分配和离散分配的优缺点

    连续分配优点:顺序访问方便;顺序访问速度快;支持直接存取。
    连续分配缺点:要求有连续的空间;必须事先知道文件长度。
    离散分配优点:提高外存利用率,减少碎片产生;无须事先知道文件大小。
    离散分配缺点:访问速度慢;索引分配可以直接存取,但是索引表占用额外空间;链接
    分配只能顺序访问。
    操作系统:文件的软链接和硬链接的概念,删除软链接或硬链接后文件是否还能被访问,

    WEB 链接属于什么链接

    软链接:符号连接(Symbolic Link),软链接文件有类似于 Windows 的快捷方式。
    它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的
    有另一文件的位置信息。删除后不影响文件访问。
    硬链接:通过索引节点来链接;删除后不影响源文件访问
    WEB 链接属于软链接。

    线程为什么能提高系统效率

    线程可以减少并发执行的开销,并发性较进程进一步提高。线程是轻量级的进程,线程
    间的并发和切换,资源开销远远小于进程,因此可以提高系统效率。

    生产者和消费者系统中,互斥和同步的含义

    -- 互斥 间接制约 有产品才可以消费
    同步 直接制约 有空间才可以生产

    独立磁盘冗余阵列的工作原理

    -- 是把多个相对便宜的小磁盘组合起来,成为一个磁盘组
    1、增强了速度
    2、扩容了存储能力(以及更多的便利)
    3、可高效恢复磁盘
    多个生产者只能互斥的使用缓冲区。
    进程间的相互合作而引起的。
    有产品,才可以消费。
    进程间共享临界资源而引起的。
    动态页面调度时,当发生缺页时是否立即调出一页也同时调入一页
    不一定,系统分配的页数如若占用完毕,此时需要调出一页,但是如若页数有剩余的话,
    此时只需调入页面即可不涉及调出页面操作。

    操作系统是多线程技术是什么

    操作系统中提出多线程技术主要是为了提高系统资源利用率,在单核计算机中,多线程
    就是在内存中同时存在对各线程并发执行,在微观上是顺序占用处理器执行;在多核计
    算机中,多线程可以实现多个处理器同时处理多个线程的操作,实现正真意义上的并发
    执行。
    操作系统:读者/写者问题在实际中有何应用
    文件操作,过独木桥问题

    多线程的优点

    提高资源利用率,程序响应快,代码易于设计。

    CPU 工作在内核态与用户态有什么区别?

    内核态: CPU 可以访问内存所有数据, 包括外围设备, 例如硬盘, 网卡. CPU 也可以将
    自己从一个程序切换到另一个程序
    用户态: 只能受限的访问内存, 且不允许访问外围设备. 占用 CPU 的能力被剥夺, CPU
    资源可以被其他程序获取
    段页式系统的原理及优点
    段页式系统的基本原理,是基本分段存储管理方式和基本分页存储管理方式原理的结合,
    即先将用户程序分成若干个段,再把每个段分成若干个页,并为每一个段赋予一个段名。
    优点:包含分页和分段的优点,既有分页系统的资源利用率高,碎片少的优点,又有分
    段系统方便用户、实现信息共享和保护的优点。

    什么是前台作业,什么是后台作业?有什么区别?

    在批处理兼分时的系统中,往往把由分时系统控制的作业称“前台”作业,而批处理系
    统控制的作业称“后台”作业。所以用户以交互方式调试好的程序转向批处理自动控制
    执行的过程,实际上是把前台作业转换成后台作业的过程。前台作业优先权高,先处理
    前台作业。

  • 相关阅读:
    delphi新语法之泛型实现的对象池模板
    java输入函数
    OC----简单的购物系统----
    关于在堆区创建字符串的疑惑
    自己在OC考试中的试题
    nonatomic, retain,weak,strong用法详解
    python 读写文件和设置文件的字符编码
    python 逐行读取文件的三种方法
    Javascript写入txt和读取txt文件示例
    Javascript的io操作
  • 原文地址:https://www.cnblogs.com/pam-sh/p/12409695.html
Copyright © 2020-2023  润新知