操作系统复习笔记1

目录

1、线程以什么样的形式存储

2、读写锁

3、作业和指令有什么区别

4、BIOS是什么

5、操作系统的引导

6、磁盘和内存

7、外存和内存的存储


1、线程以什么样的形式存储

操作系统会专门开辟一块物理内存。这块内存会当必须在物理内存的程序片段和数据。

处理器切换线程时,操作系统专门的线程管理模块,会将寄存器数据全部保存到对应线程数据结构中。这个数据集就在这块物理内存上。

2、读写锁

读写锁(readers-writer lock),看英文可以顾名思义,在执行加锁操作时需要额外表明读写意图,复数读者之间并不互斥,而写者则要求与任何人互斥。读写锁不需要特殊支持就可以直接用之前提到的几个东西实现,比如可以直接用两个 spinlock 或者两个 mutex 实现:

void 以读者身份加锁(rwlock) {
    加锁(rwlock.保护当前读者数量的锁);
    rwlock.当前读者数量 += 1;
    if (rwlock.当前读者数量 == 1) {
        加锁(rwlock.保护写操作的锁);
    }
    解锁(rwlock.保护当前读者数量的锁);
}

void 以读者身份解锁(rwlock) {
    加锁(rwlock.保护当前读者数量的锁);
    rwlock.当前读者数量 -= 1;
    if (rwlock.当前读者数量 == 0) {
        解锁(rwlock.保护写操作的锁);
    }
    解锁(rwlock.保护当前读者数量的锁);
}

void 以写者身份加锁(rwlock) {
    加锁(rwlock.保护写操作的锁);
}

void 以写者身份解锁(rwlock) {
    解锁(rwlock.保护写操作的锁);
}

如果整个场景中只有一个读者、一个写者,那么其实可以等价于直接使用互斥器。不过由于读写锁需要额外记录读者数量,花销要大一点。

你可以认为读写锁是针对某种特定情景的「优化」。但个人还是建议忘掉读写锁,直接用互斥器。

3、作业和指令有什么区别

进程,最基本的活动。
指令,实现一个基本功能活动的的代码(符号表示)。
程序,实现一个完整功能活动的指令集合。
作业,实现一组完整功能活动的程序集合。

4、BIOS是什么

首先要知道的是,BIOS 其实是一个英文缩略词,即 “Basic Input Output System” 四个单词的首字母组合,中文直译为“基本输入输出系统”,是一组固化到计算机内主板上一个 ROM 芯片上的程序。顾名思义,它保存着计算机最重要的基本输入输出的程序,还包括开机后自检程序和系统自启动程序。除此以外,它还可从 CMOS 中读写系统设置的具体信息。 其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。

5、操作系统的引导

①激活CPU

②加载带有操作系统的硬盘(BIOS读取启动顺序)

③加载主引导记录(MBR,最后两字节是55AAH)

④加载硬盘分区表(DPT)

⑤加载硬盘活动分区表(分区首字节为0X80H)

⑥加载分区引导记录(PBR)

⑦加载启动管理器

6、磁盘和内存

内存和磁盘都是计算机中的存储器,都具有存储功能,属于存储设备。在计算机中,磁盘和内存是相互配合共同作业的。

  区别

  1、内存是一种高速,造价昂贵的存储设备;而磁盘速度较慢、造价低廉。

  2、内存属于内部存储设备,磁盘属于外部存储设备。

  3、内存是通过电流来实现存储;磁盘是通过磁记录来实现存储。所以电脑断电后,内存中的数据会丢失,而磁盘中的数据可以长久保留。

7、外存和内存的存储

硬盘属于外存。

外存:外储存器是指除计算机内存及CPU缓存以外的储存器,此类储存器断电后仍然能保存数据。

内存:也被称为内存储器和主存储器,其作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。

你可能感兴趣的:(操作系统考研复习,笔记,操作系统)