操作系统

操作系统有四大特征:进程管理,处理器管理,存储器管理,设备管理。

进程管理

1.操作系统主要是通过管理PCB(进程控制块)来管理每个进程的
PCB主要分为四个部分:
进程标识符:内部标识符(OS赋予的唯一的数字标识符)和外部标识符(由创建者提供)
处理机状态:主要由处理机的各种寄存器内容组成,存放当前时刻通用寄存器,指令计数器(下一条指令地址),程序状态字(PSW),用户栈指针等的信息,用户栈指的是每个用户进程都有一个或若干个与之相关的系统栈,用于存放过程和系统调用参数及调用地址。
进程调度信息:存放一些与进程调度和进程对换有关的信息,包括进程状态,进程优先级,事件(指进程由执行状态变为阻塞状态所等待发生的事件)
进程控制信息:包括程序和数据的地址,进程同步和通信机制,资源清单,链接指针。
2.进程同步:为了使得并发程序具有可再现性。
解决同步问题的方法:
信号量机制:整形信号量(会产生忙等),记录型信号量,AND型信号量(针对多个临界资源,当一个进程的所申请有资源的存在空闲时,才能分配,否则不分配),信号量集(一次申请N个临界资源)
管程机制:信号量机制使用wait和singal,这样的操作分布在各个进程中,使得系统可能出现死锁,管程可以解决此问题,莞城定义了一个数据结构和能为并发进程所执行的一组操作,这组操作能同步进程和改变管程中的数据。(管程组成:名称,局部于管程内部的共享数据结构说明,对该数据结构进行操作的一组过程,对局部于管程内部的共享数据设置初始值的语句),总之就是将一些临界资源包含起来,利用一组操作来共同管理,任何进程想要获取某个资源都是跟管程打交道。
3.进程之间的高级通信机制有:

进程间通信的方式?

    (1)管道(pipe)及有名管道(named pipe,即FIFO):管道可用于具有亲缘关系的父子进程间的通信,有名管道除了具有管道所具有的功能外,它还允许无亲缘关系进程间的通信。

    (2)信号(signal):信号是在软件层次上对中断机制的一种模拟,它是比较复杂的通信方式,用于通知进程有某事件发生,一个进程收到一个信号与处理器收到一个中断请求效果上可以说是一致的。

    (3)消息队列(message queue):消息队列是消息的链接表,它克服了上两种通信方式中信号量有限的缺点,具有写权限得进程可以按照一定得规则向消息队列中添加新信息;对消息队列有读权限得进程则可以从消息队列中读取信息。

    (4)共享内存(shared memory):可以说这是最有用的进程间通信方式。它使得多个进程可以访问同一块内存空间,不同进程可以及时看到对方进程中对共享内存中数据得更新。这种方式需要依靠某种同步操作,如互斥锁和信号量等。

    (5)信号量(semaphore):主要作为进程之间及同一种进程的不同线程之间得同步和互斥手段。

    (6)套接字(socket):这是一种更为一般得进程间通信机制,它可用于网络中不同机器之间的进程间通信,应用非常广泛。

4.线程的特点:
线程基本不拥有系统资源,每个线程有TCB(线程控制块),用于指示被执行指令序列的程序计数器,保留局部变量、少数状态参数和返回地址等的一组寄存器和栈
5.线程的同步和通信
同步机制:互斥锁条件变量(单纯的互斥锁用于短期锁定,条件变量则用于线程的长期等待,直至所等待的资源成员可用的资源),信号量
6.多个进程在争夺资源的时候可能造成死锁,在此状态下,必须有外力推进。
产生死锁的必要条件:互斥条件,请求和保持条件,不剥夺条件,环路等待条件。
处理死锁基本方法:
预防死锁:破坏产生死锁的必要条件中的一个或多个
避免死锁:不破坏,但是利用某种方式防止系统进入不安全状态。
检测和解除死锁:当产生死锁时,撤掉或挂起一些进程。

处理及调度

1.处理机调度层次:高级调度(又称为作业调度或长程调度),低级调度(进程调度或短程调度),中级调度
2.调度算法:(周转时间 = 完成时间 - 到达时间   带权周转时间 = 周转时间 / 服务时间)
先来先服务(FCFS):适用于长作业,不利于短作业
短作业优先调度算法(SJF):有效降低作业平均等待时间,提高系统吞吐量,但是不利于长作业,完全未考虑作业的紧迫程度。
高优先权优先调度算法:将后备队列中选择若干个优先权最高的作业装入内存。(分抢占式和非抢占式,静态优先权和动态优先权)
高响应比优先调度算法(优先权 = (等待时间 + 要求服务时间) / 要求服务时间):每次调度响应比的值高的作业。
基于时间片的轮转调度算法:有时间片轮转法和多级反馈队列调度算法(设置多个就绪队列,按FCFS每次将新的进程放入第一队列的末尾)。
3.调度算法不能解决实时调度,实时调度提供的信息有:就绪时间,开始截止时间,完成截止时间,处理事件,资源要求,优先级,与调度算法中的到达时间,服务时间,开始执行时间,完成时间不同。
实时调度算法分为:非抢占式调度,抢占式调度,有以下几种:
最早截止时间优先(EDF):利用开始截止时间来设置优先级
最低松弛度优先(LLF):根据任务的紧急程度赋予优先级。


存储器管理

1.存储器管理的主要对象是内存。主存用于保存进程运行时的程序和数据。主存还可以看做是辅存(如磁盘)的高速缓存
2.内存分配几种方式:
单一连续分配:针对单用户,单任务的操作系统
固定分区分配:最简单的一种可运行躲到程序的存储管理方式
动态分区分配:可以回收空闲分区进行合并
伙伴系统方式:分成多个分区每个分区大小为2^k,每个小分区具有相同大小的所有空闲分区,如果2^i没有则找2^i+1将其分割,一个分配,一个放入分区链表中。回收时候如果回收的2^i存在,则合并成i^(i+1),如果2^(i + 1)存在,则继续合并。
3.对换是为了解决内存空间不足,提高系统吞吐量的方法,分为两种:
进程对换:对换整个进程,一般外存分为文件区(存放文件)和对换区(存放从内存换出的进程)
4.虚拟存储器:指具有请求调入功能和置换功能,你能从逻辑上对内存容量加以扩充的一种存储器系统,其逻辑容量由内存容量和外存容量之和所决定,其速度接近于内存速度。
5.页面置换算法:最佳置换算法,FIFO,LRU算法,CLOCK置换算法

设备管理和文件管理


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值