[心得]操作系统概念知识整理

Abraham Silberschatz et al 7ed

操作系统大致提供以下服务:
1. 用户界面
2. 程序执行
3. IO操作
4. 文件系统操作
5. 通信
6. 错误检测
7. 资源分配
8. 统计
9. 保护和安全

系统调用分成5大类:
1. 进程控制
2. 文件管理
3. 设备管理
4. 信息维护
5. 通信

创建虚拟机的根本原因是,在并行n个不同的执行环境能共享相同的硬件。
JVM是一个抽象计算机规范,它包括类加载器和执行平台无关字节码的java解释器。
.NET框架的核心是CLR,公共语言运行时。CLR是.NET虚拟机的实现。

PCB:进程控制块
RMI是RPC的java实现。

线程库主要有2种方法:
1. 在用户空间中提供一个没有内核支持的库;库函数调用只是用户空间的一个本地调用;
2. 由操作系统直接支持的内核级的库,该库调用通常导致系统调用。

多线程问题:
1. 系统调用fork()和exec()
2. 线程取消是在线程完成之前终止线程的任务。
3. 信号处理。信号在UNIX中用来通知进程某个特定事件已发生了。
4. 线程池限制系统中并发执行的线程数量。线程池的主要思想是在进程开始时创建一定数量的线程,并放入池中以等待工作。当服务器收到请求时,它会唤醒池中的一个线程,并将要处理的请求传递给它。
5. 线程的特定数据
6. 调度程序激活

cpu调度是多道程序操作系统的基础。FCFS先到先服务;SJF最短作业优先。优先级调度,轮转法,多级队列调度。

信号量Semaphore
P:proberen测试
V:verhogen
信号量的关键之处是它们原子地执行。

对于共享数组队一组协作的顺序进程必须提供互斥。一种解决方法是:确保在某个时候只能有一个进程或线程可使用代码的临界区。
临界区解决方案的主要缺点是都需要忙等。信号量可以克服这个困难。

各种不同的同步问题(有限缓冲区问题,读写问题,和哲学家进餐问题)是并发控制的经典例子。

操作系统必须提供机制防止时序出错问题,管程为共享抽象数据类型提供了同步机制。
有一个生产者消费者项目可以练习P202

四个条件同时满足,则会死锁:互斥、占有并等待、非抢占、循环等待。

三种方法处理死锁:1.使用协议预防或避免死锁;2.允许死锁然后检测并从死锁中恢复;3.忽视,认为不可能死锁

死锁避免算法要比预防算法要求低,只要实现了解进程使用资源情况即可。
检测到死锁,必须终止某些死锁进程,或通过抢占某些进程资源从死锁中恢复。抢占方法要考虑:选择一个牺牲品,回滚,以及饥饿。

采用动态加载时,一个子程序只有在调用时才被加载。

存根stub是一小段代码,用来指出如何定位适当的内存驻留库程序。

分页内存管理允许进程的物理地址空间非连续。分页的一个重要特点是用户视角的内存和实际物理内存的分离。

虚拟内存允许将大逻辑地址空间映射到小的物理内存,首先它允许极大的进程运行,其次,它使得程序员不必考虑内存可用性。再次,允许进程共享系统库与内存。
虚拟内存通常采用按需调页的方式来实现。

各种页置换算法。FIFO容易编写,但有belady异常。最优页置换算法需要将来知识,LRU算法近似最优。
虚拟内存除了页置换算法,还需要帧分配策略。

belady异常指对有的页置换算法,页错误率可能随着所分配的帧数增加而增加。

文件是一组由创建者所定义的相关信息的集合。

LDAP:轻量级目录存取协议。

一致性语义描述多用户同时访问共享文件时的语义。

解决保护问题最常用的方法是,根据用户身份进行控制。

为每个文件和目录增加一个访问控制列表ACL

虚拟文件系统VFS层的2个作用:
1. 将通用操作和具体实现分离
2. vnode作唯一标识,可支持网络文件系统

常用磁盘空间分配方法有3个:
1. 连续
2. 链接
3. 索引。
连续分配有外部碎片问题;
链接分配的直接访问效率低;
索引分配可能因其索引块而浪费一定空间

空闲空间分配方法包括位向量和链表。优化方法包括组合、计数和FAT

目录管理程序最常用hash表技术。

存储系统性能有3个重要方面:带宽,延迟和可靠性。

IO硬件要素是总线、设备控制器和设备本身。

IO内核子系统提供IO调度,缓冲,高速缓存,假脱机,设备预留以及出错处理。

流是使得设备驱动程序可以重用和更容易使用的一种实现方法。

保护是指一种控制程序,进程或用户对计算机系统资源进行访问的机制。最关键的保护原则是最小特权原则。

可将保护模型抽象为一个矩阵,称之为访问矩阵。该矩阵要么实现为一系列关联到每一个对象的访问列表。要么被实现为一系列关联到每个域的权限列表。

一个误用自身环境的代码段被称为特洛伊木马。

蠕虫worm是一个利用繁殖spawn机制破坏系统性能的进程。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
操作系统概念背诵 一、进程管理 1. 进程管理的功能 ① 进程控制 ② 进程同步 ③ 进程通信 ④ 进程(线程)调度 2. 程序顺序执行时的特征:顺序性、封闭性、可再现性。 3. 程序并发执行时的特征:间断性、失去封闭性、不可再现性。 4. 进程由程序段、数据段和进程控制块(PCB)组成。 5. 进程的定义 ① 进程是程序的一次执行。 ② 进程是一个程序及其数据在处理机上顺序执行时所发生的活动。 ③ 进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。 ④ 进程是程序在一个数据集合上的运行过程,是系统进行资源分配和调度的一个独立单位。 6. 进程的基本特征:动态性、并发性、独立性、异步性、结构特征(程序+数据+PCB) 7. 进程的状态 三态:就绪状态、运行状态、阻塞状态。 五态:活动就绪、静止就绪、活动阻塞、静止阻塞、运行。 8. 进程控制块(PCB)的组成:进程标识符、处理机状态、进程调度信息、进程控制信息。 9. 临界区:进程中访问临界资源的那段代码叫做临界区。 10. 同步机制必须遵循的原则:空闲让进、忙则等待、有限等待、让权等待。 11. P, V 操作的定义 P(S):S = S − 1; 若S≥0,则当前进程继续运行; 若S<0,则将当前进程插入到S 的等待队列中去。 V(S):S = S + 1; 若S>0,则当前进程继续运行; 若S≤0,则从S 的等待队列中移出一个进程放到就绪队列中去。 12. 信号量的物理意义 S = −n 时,表示有n 个等待进入临界区的进程,当前已有进程在临界区中访问临界资源; S = 0 时,表示不允许任何进程进入临界区,当前已有进程在临界区中访问临界资源; S = n 时,表示临界区是空闲的,该类资源的可用数目为n,可以有n 个进程访问该类资源。 13. 高级通信机制有:共享存储器系统、消息传递系统、管道通信系统。 14. 线程的定义:线程是进程内的一个实体,是处理机调度的基本单位,是程序内部一个单一的顺序控 制流。 15. 引入进程的目的:是为了使多个程序并发执行,提高资源利用率和系统吞吐量。 16. 引入线程的目的:是为了减少程序并发执行时的时空开销,使操作系统具有更好的并发性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值