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

1、代码编辑功能是编辑器提供的

代码规范检查也是编辑器提供的

分析代码问题是调试器提供的

编译器主要完成源码向目标代码的转化

 

 

 

2、RS-485分为两大类:两制线、四制线。其中,前者需要两根数据线,可以进行半双工通信;后者需要四根数据线,可以进行全双工通信。故,RS-485最少有两个数据信息号。

 

3IEEE 802.3u (100Base-T)100兆比特每秒以太网的标准。100Base-T技术中可采用3类传输介质,即100Base-T4100Base-TX100Base-FX,它采用4B/5B编码方式。

 

4一次HTTP请求需要用到TCP协议,如果TCP都不让出去,那HTTP还能出去么?当然不行。

当然,使用包过滤的确可以禁止TCP协议包出去,别说TCP,其它的协议都行,还可以过滤端口号,IP地址等等。

此题的关键是HTTP需要使用TCP,把TCP禁了,相当于HTTP也被禁了。

 

 

5、ADSL是非对称数字用户线路(Asymmetric Digital Subscriber Line)的缩写,亦可称作非对称数字用户环路。ADSL技术提供的上行和下行带宽不对称,因此称为非对称数字用户线路,是一种异步传输模式(ATM)。

 

6、静态网站指网页是固定的,而不是在用户访问的时候动态生成的

可以使用同一个网址访问不同的Web服务器,CDN网络就是这样。比如你在不同的确访问www.baidu.com,指向的服务器ip地址也不同

127.0.0.1是本机回环测试地址,等价于localhost,可以访问本地站点

 

7最优适应算法:通常将空闲区按长度递增顺序排列。查找时总是从最小一个空闲区开始,直到找到满足要求的分区为止。此算法保证不会分割一个更大的区域,使得装入大作业的要求容易得到满足。

补充:

最先适应算法:通常将空闲区按地址从小到大排列。查找时总是从低地址开始,可使高地址尽量少用,以保持一个大空闲区,有利于大作业的装入;缺点是内存低地址和高地址两端的分区利用不平衡,回收分区较麻烦。

最坏适应算法通常将空闲区按长度递减顺序排列 。查找时从最大的一个空闲区开始,总是挑选一个最大的空闲区分割给作业使用,其优点是使剩下的空闲区不致于太小,这样有利于中小型作业,但不利于大作业。

这些都属于可变分区分配算法,当然还有下次适应分配算法和快速适应分配算法。

 

 

8进程/线程同步方法

常见的进程/线程同步方法有互斥锁(或称互斥量Mutex)、读写锁(rdlock)、条件变量(cond)、信号量(Semophore)等。

windows系统中,临界区(Critical Section)和事件对象(Event)也是常用的同步方法。

递归锁/非递归锁

Mutex可以分为递归锁(recursive mutex)和非递归锁(non-recursive mutex)。递归锁也叫可重入锁(reentrant mutex),非递归锁也叫不可重入锁(non-reentrant mutex)。

二者唯一的区别是:

同一个线程可以多次获取同一个递归锁,不会产生死锁。

如果一个线程多次获取同一个非递归锁,则会产生死锁。

Windows下的Mutex和Critical Section是可递归的。

Linux下的pthread_mutex_t锁是默认是非递归的可以通过设置PTHREAD_MUTEX_RECURSIVE属性,将pthread_mutex_t锁设置为递归锁。

 

9.动态重定位装入方式:

其运行环境:多道程序环境;

程序在运行过程中在内存的位置可能变动,装入程序把装入模块装入内存后,并不立即把装入模块中的相对地址转换为绝对地址,而是把这种地址转换推迟到程序真正执行时才进行。说白了,动态重定位装入方式,是在程序执行时由CPU硬件进行地址重定位。

特点:程序在内存中可以浮动,不要求整个应用程序占用连续控件;为使地址转换不影响指令的执行速度,需要一个重定位寄存器的支持。

 

可重定位装入方式:

运行环境:多道程序环境

程序目标模块的起始地址通常是从0开始的,程序中的其他地址也都是相对于起始地址计算的;根据内存的当前情况,将装入模块装入到内幕才能的适当位子;地址变换通常是装入时一次完成的,以后不再改变,所以是静态重定位。

特点:无需硬件支持;程序不能在内存中移动;要求程序的存储空间是连续的,不能把程序放在若干不连续区域

 

绝对装入方式:

环境:使用单批道程序环境

绝对装入需要实现知道程序驻留在内存的位置,程序按照装入模块中的地址,将程序和数据装入内存。所以程序中的逻辑地址与实际地址完全相同,当操作系统吧程序装入内存时,不需要对程序和数据进行地址修改;

特点:是CPU执行目标代码块,由于内存大小的限制,能装入内存冰法执行的进程数大大减少。

 

 

10.根据本地网的业务覆盖范围和通信容量的不同,可以有其不同的网路组织方式。

1、适合于特大和大城市的本地网的网路组织 

采用分区双汇接局结构。将本地网划分成若干个汇接区,每个汇接区内设置两个大容量的汇接局,覆盖区内的每个端局;当汇接局均为端/汇合一局(用DTm/DL)时,全网的所有汇接局间为个个相连的网状网;当某一个汇接区内的两个汇接局均为纯汇接局时,这两个汇接局之间不需相连。 

 

2、适合于中等城市的本地网的网路组织  
采用汇接局全覆盖结构。在全网设置23汇接局,对全网的端局全覆盖,汇接局一般设置在本地网的中心城市,并且相互之间采用网状网结构。  

3、适合于较小本地网的网路组织  
采用一级(无汇接局)网状网结构。

 

 

11堆主要是动态静态分配内存空间,内存空间在内部环境是统一编址的,不会因为多了一个对象而复制另一块独立的内存空间给实例对象,而栈是存储临时变量等的,有一定生命周期,是多线程独立的。

 

12

spooling技术是一种把独占设备改造成逻辑上共享的设备。

什么是IO重定向呢?是指将命令的执行结果重新导出到其他的设备或者文件。主要包括输入重定向和输出重定向。

 

13DNS劫持,指用户访问一个被标记的地址时,DNS服务器故意将此地址指向一个错误的IP地址的行为。范例就是收到各种推送广告等网站。

DNS污染,指的是用户访问一个地址,国内的服务器(DNS)监控到用户访问的已经被标记地址时,服务器伪装成DNS服务器向用户发回错误的地址的行为。比如不能访问GoogleYouTube等。

 

14进程状态包括就绪,运行,等待;

有进程处于就绪状态,则必有进程处于运行状态,不一定有进程处于等待状态。

 

 

15CSMA/CD  Carrier Sense Multiple Access with Collision Detection )即带 冲突检测  载波监听多路访问 技术。

在传统的共享 以太网 中,所有的 节点 共享 传输介质 。如何保证传输介质有序、高效地为许多节点提供传输服务,就是以太网的 介质访问控制 协议要解决的问题。

a)         CSMA/CD 应用在 OSI 的第二层   数据链路层

b)     CSMA/CD 采用   IEEE 802.3 标准

它的主要目的是:提供寻址和媒体存取的控制方式,使得不同设备或网络上的   节点 可以在多点的网络上通信而不相互冲突。

  1 发送前空闲检测,只有信道空闲才发送数据

    2 发送过程中冲突检测,若有冲突发生则需避让

    3、冲突发生后,并没有优先级

 

 

16、java threadlocal

ThreadLocal存放的值是线程封闭,线程间互斥的,主要用于线程内共享一些数据,避免通过参数来传递

线程的角度看,每个线程都保持一个对其线程局部变量副本的隐式引用,只要线程是活动的并且 ThreadLocal 实例是可访问的;在线程消失之后,其线程局部实例的所有副本都会被垃圾回收

Thread类中有一个Map,用于存储每一个线程的变量的副本。

对于多线程资源共享的问题,同步机制采用了以时间换空间的方式,而ThreadLocal采用了以空间换时间的方式

 

ThreadLocal类用于创建一个线程本地变量

Thread中有一个成员变量ThreadLocals,该变量的类型是ThreadLocalMap,也就是一个Map,它的键是threadLocal,值为就是变量的副本。通过ThreadLocalget()方法可以获取该线程变量的本地副本,在get方法之前要先set,否则就要重写initialValue()方法。

ThreadLocal的使用场景:

        数据库连接:在多线程中,如果使用懒汉式的单例模式创建Connection对象,由于该对象是共享的,那么必须要使用同步方法保证线程安全,这样当一个线程在连接数据库时,那么另外一个线程只能等待。这样就造成性能降低。如果改为哪里要连接数据库就来进行连接,那么就会频繁的对数据库进行连接,性能还是不高。这时使用ThreadLocal就可以既可以保证线程安全又可以让性能不会太低。但是ThreadLocal的缺点时占用了较多的空间。

 

 

17、分时系统需要

多道程序设计技术
作业说明书
终端命令解释程序
中断处理

 

 

18、软链接又叫符号链接,这个文件包含了另一个文件的路径名。可以是任意文件或目录,可以链接不同文件系统的文件。
软链接文件只是其源文件的一个标记,当删除了源文件后,链接文件不能独立存在,虽然仍保留文件名,但却不能查看软链接文件的内容了。
软链接不直接使用inode号作为文件指针,而是使用文件路径名作为指针(软链接:文件名 + 数据部分-->目标文件的路径名)。软件有自己的inode,并在磁盘上有一小片空间存放路径名。因此,软链接能够跨文件系统,也可以和目录链接!其二,软链接可以对一个不存在的文件名进行链接,但直到这个名字对应的文件被创建后,才能打开其链接。

 

硬连接指通过索引节点来进行连接。在 Linux 的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号 (InodeIndex) 。在 Linux 中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止 “ 误删 ” 的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。

由于硬链接是有着相同 inode 号仅文件名不同的文件,因此硬链接存在以下几点特性:

·        文件有相同的 inode data block

·        只能对已存在的文件进行创建;

·        不能交叉文件系统进行硬链接的创建;

·        不能对目录进行创建,只可对文件创建;

·        删除一个硬链接文件并不影响其他有相同 inode 号的文件。

 

19、文件分配对应于文件的物理结构,是指如何为文件分配磁盘块。常用的磁盘空间分配方法有三种:连续分配、链接分配和索引分配。

顺序分配:顺序 分配方法要求每个文件在磁盘上占有一组连续的块。

隐式链接分配: 每个文件对应一个磁盘块的链表;磁盘块分布在磁盘的任何地方,除最后一个盘块外,每一个盘块都有指向下一个盘块的指针,这些指针对用户是透明的。

显式链接分配:是指把用于链接文件各物理块的指针,显式地存放在内存的一张链接表中。该表在整个磁盘仅设置一张,每个表项中存放链接指针,即下一个盘块号。 在该表中,凡是属于某一文件的第一个盘块号,或者说是每一条链的链首指针所对应的盘块号,均作为文件地址被填入相应文件的FCB物理地址字段中。由于查找记录的过程是在内存中进行的,因而不仅显著地提高了检索速度,而且大大减少了访问磁盘的次数。由于分配给文件的所有盘块号都放在该表中,故称该表为文件分配表(File AllocationTable, FAT)MS-DOS 采用的就是这种方式。

 

 

20、页式:存在页表

断式:存在段表

分区:单一分区:无转换表存在

固定分区:分区状态表

段页式:存在段表和页表

你可能感兴趣的:(笔记)