1.首先了解什么是OS?算法
操做系统(Operating System OS)是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充。其主要做用是管理好这些设备, 提升它门的利用率和系统的吞吐量,并未用户和应用程序提供一个简单的接口, 便于用户使用。服务器
2.OS的目标与做用并发
目标:方便性 有效性 可扩充性 开放性异步
做用:为用户与计算机硬件系统之间的接口;优化
做为家算计系统资源的管理者:硬件资源和软件资源 处理机 存储器 I/O设备 以及文件(数据和程序)spa
实现了对计算机资源的抽象操作系统
3.OS的基本特性线程
1.并发(Concurrence):接口
并行性:指两个或多个事件在同一时刻发生。队列
并发性:指两个或多个事件在同一时间间隔内发生。
2.共享(Sharing):
互斥共享方式:虽然有多个进程或线程可使用 可是在规定的一段时间内 值容许一个进程访问该资源。 又称为临界资源。
同时访问方式:余怒子啊一段时间内由多个额进程”同时“对他们进行访问。
并发和共享是多用户/多任务OS的两个最基本特征。
3.虚拟(Virtual):
时分复用技术:(多道程序技术)是经过利用处理机的空闲事件运行其余程序,提升了处理机的利用率。
通俗的说就是它利用某设备为一用户服务的空闲时间,又转去为其余用户服务。
空分复用技术: 利用存储器的空闲空间分区域存放和运行其余的多道程序,以此来提升内存的利用率。
单纯的空分复用存储器只能提升内存的利用率,并不能是如今逻辑上扩大存储器容量的功能,还必须引入虚拟存储技术才能达到此目的。
而虚拟存储技术在本质上是实现内存的分时复用,即它能够经过分时复用内存的方式,使一道程序仅在远小于它的内存空间中运行。
4.异步(Asynchornism):
先清楚进程概念:所谓进程是指在系统中能独立运行并做为资源分配的基本单位。它是由一组机器指令,数据和堆栈等组成,是一个能独立运行的活动实体。
进程是程序的一次动态执行,是程序完成 一次任务所需的资源的载体。
4.OS的主要功能:
1.处理机管理功能:
进程控制也就是为做业建立进程,撤销(终止)已结束的进程,以及控制进程在运行过程当中的状态转换。
进程同步(多进程/线程协调):
进程互斥方式,访问临界资源的时候。
进程同步方式 相互合做完成共同任务的诸进程间 由同步机构进行协调 。锁。
进程通讯: 多个进程相互合做完成同一个任务的时候 每每须要交换信息。
调度:
做业调度:从后备队列中按照必定的算法选择出若干个做业,并为其运行分配资源。而后调入内存,在为他们建立进程。使他们均可能得到处理机的就绪进程,并将他们插入就绪队列中。
进程调度:从进程的就绪队列中按照必定的短发选出一个进程,并将处理机分配给它。
2.存储器管理功能
内存分配
内存保护: a.确保每道用户程序都仅在本身的内存空间内运行,彼此互不干扰。
b.毫不容许用户程序访问OS的程序和数据,也不容许用户程序转移到飞共享的其余用户程序中去执行。
每道程序都只在本身的内存区运行,如越界,则发出越界中断请求。
地址映射:将地址空间的逻辑地址转换为内存空间中与之对应的物理地址。 逻辑地址====>物理地址。
内存扩充: 借助虚拟内存技术。 a.请求调入功能: 将须要的程序和数据调入内存 ; b.置换功能:将不须要的数据和程序调到硬盘上。
3.设备管理功能: 缓冲管理 设备分配 设备处理 ,===>完成用户进程提出的I/O请求。 以及提升CPU和I/O设备的利用率。
4.文件管理功能: 文件存储空间的管理;目录管理;文件的读/写管理和保护。
5.OS与用户之间的接口: 用户接口,程序接口
5.微内核OS结构:
简单了解 ”机制与策略分离原理“,所谓机制,是指实现某一功能的具体执行机构。而策略,则是在机制的基础上借助于某些参数和算法来实现该功能的优化,或达到不一样的功能目标。 一般,机制处于一个系统的基层,而策略则处于系统的高层。
“须要提供什么功能”即机制,“如何使用这些功能”即策略。
机制就是提供的功能,好比在驱动程序的编写中,你要提供怎样和硬件交流的方式,这就叫机制。 而策略则是指你怎样去使用已有的机制完成你本身的特定的功能,好比在驱动程序的编写中,你该怎样去利用硬件机制完成特定的功能
微内核的基本功能:
1.进程/线程管理:
为实现进程/线程调度功能,须在进程管理中设置一个或多个进程/线程优先级队列,将指定优先级进程/线程从所在队列中取出,并将其投入运行。
2.低级存储器管理: 可用于实现将用户控件的逻辑地址变换为内存空间的物理地址的页表机制和地址变换机制。
而实现虚拟存储器管理的策略,则包含应采起何种页面置换算法,采用何种内存分配与回收的策略,应将这部分放在微内核外的存储器管理服务器中取实现。
3.中断和陷入处理:捕获锁发生的中断和陷入事件,并进行相应的前期处理,如进行中断现场保护。