牛客刷题难点易错点总结-操作系统5

# 牛客 操作系统-5

用户对文件的观察和使用是从自身处理文件中数据时采用的组织方式来看待文件组织形式。这种从用户关点出发所见到的文件组织形式称为文件的**逻辑组织**。 

### 逻辑组织 

文件的逻辑组织通常分为两种形式,即有结构文件和无结构文件。1)有结构文件又称作**记录式文件**,它在逻辑上可被看成一组连续**记录**的集合,即文件是由若干个相关的记录组成。每个记录是一组**相关的数据集合**,用于描述**一个对象某个方面的属性**。记录式文件按其记录的长度是否相同又可分为:定长记录文件和变长记录文件两种。(1)**定长记录文件**:指文件中所有记录的长度都相同。文件的长度可用记录的数目来表示。定长记录处理方便,开销小,被广泛用于数据处理中。(2)**变长记录文件**:指文件中各记录的长度不相同。在处理之前每个记录的长度是已知的。**有结构文件的逻辑结构:顺序文件、索引文件、顺序索引文件**2)无结构文件无结构文件是指文件内部不再划分记录,它是由一组相关信息组成的**有序字符流**,即流式文件,其长度直接按字节计算。如大量的源程序、可执行程序、库函数等采用的文件形式是无结构文件形式。在UNIX系统中,所有的普通文件都被看做是流式文件,系统不对文件进行格式处理

由程序产生的地址称为虚拟地址,它们构成了一个虚拟地址空间。在使用虚拟内存的情况下,虚拟地址被送到内存管理单元(Memory Management Unit),MMU把虚拟地址映射为物理内存地址。MMU是硬件

1.MBR用于win平台,GPT主要用于mac(苹果) 2.MBR(Master Boot Record)分区表支持一个分区最大为2TB(这里按1024字节算,2.2TB是按1000字节算的),因为每个分区表占16字节,其中有4字节是表示分区所占扇区的数量,所以一个分区最多能占有2的32次方个扇区,而扇区大小为512个字节,相乘起来就是2TB,这只是一个分区的大小,每个磁盘最多有4个主分区(或3个主分区,1个扩展分区和无限制的逻辑驱动器) 2.GPT(GUID Partition Table)磁盘分区表支持一个分区最大是2的64次方个扇区,如果一个扇区512字节,那么就2的73次方字节,并且每磁盘的分区数没有上限,只受到操作系统限制(由于分区表本身需要占用一定空间,最初规划硬盘分区时,留给分区表的空间决定了最多可以有多少个分区, IA-64版Windows限制最多有128个分区,这也是EFI标准规定的分区表的最小尺寸)。与MBR分区的磁盘不同,至关重要的平台操作数据位于分区,而不是位于非分区或隐藏扇区。另外,GPT分区磁盘有备份分区表来提高分区数据结构的完整性。

**MBR****:Master Boot Record**用于win平台,是一种建立在BIOS技术基础上的传统分区机制,支持32位和64位系统;支持分区数量有限(最多4个主分区);寻址空间为32位,最大支持大小为2TB的硬盘 

**GPT****:GUID Partition Table**主要用于mac(苹果),是一种建立在UEFI技术基础上的新分区机制,其主要目的是解决MBR机制的缺陷。支持超过2TB大小的硬盘;必须使用64位系统;向后兼容MBR;目前类Unix系统都支持GPT技术,Windows系统从Windows 7之后支持;GPT 分区磁盘有多余的主要及备份分区表来提高分区数据结构的完整性

产生死锁的主要原因是: 

1.因为系统资源不足;2.进程推进顺序不合适;3.资源分配不当; 

产生死锁的必要条件是: 

1.互斥条件;2.请求与保持条件;3.不可剥夺条件;4.循环等待条件;

饥饿现象:作业长时间得不到机会运行的现象; 

短任务优先调度算***出现饥饿现象,而高响应比优先调度算法中如果作业等待时间相同,则相当于短任务优先,而且不会出现饥饿现象;

**FCFS(先来先服务, 队列实现, 非抢占的)**:先请求CPU的进程先分配到CPU **SJF(最短作业优先调度算法)**:平均等待时间最短, 但难以知道下一个CPU区间长度 **优先级调度算法(可以是抢占的, 也可以是非抢占的)**:优先级越高的越先分配到CPU, 相同优先级先到先服务, 存在的主要问题是:低优先级进程无穷等待CPU, 会导致无穷阻塞式饥饿,解决方案:老化(随着时间的推移, 那些越老的进程优先级反而越高) **时间片轮转调度算法(可抢占的)**:队列中没有进程被分配超过一个时间片的CPU时间, 除非它是唯一可运行的进程。 如果进程的CPU区间超过了一个时间片, 那么该进程就被抢占并放回就绪队列 **多级队列调度算法**:将就绪队列分成多个独立的队列, 每个队列都有自己的调度算法, 队列之间采用固定优先级抢占调度, 其中, 一个进程根据自身属性被永久地分配到一个队列中 **多级反馈队列调度算法**:与多级队列调度算法相比, 其允许进程在队列之间移动, 若进程使用过多CPU时间, 那么它会被转移到更低的优先级队列, 在较低优先级队列等待时间过长的进程会被转移到更高优先级队列, 以防止饥饿发生 

进程具有以下特性:

1结构性 每个进程有一个控制块 PCB。

2.动态性 进程的实质是进程实体的一次执行过程。动态性是进程的最基本的特征。

3.并发性 可以与其它进程一道在宏观上同时向前推进。动态性是进程的重要特征。

4.独立性 进程是一个能独立运行 独立分配资源和独立调度的基本单位。

5.异步性 每个进程都以其相对独立、不可预知的速度向前推进。

进程映像也称进程图像,是进程执行的上下文环境,包括处理机中各[通用寄存器](https://baike.so.com/doc/5729351-5942090.html)的值,进程的内存映像,打开文件的状态和进程占用资源的信息等。它由: 

**[进程控制块](https://baike.so.com/doc/5694470-5907174.html)(PCB****)、**

**进程执行的程序(code****) / 程序、**

**进程执行时所用的数据 / 数据集合、**

进程执行时使用的工作区组成

你可能感兴趣的:(牛客刷题,linux,运维,服务器)