操作系统之下是计算机硬件,虚拟在计算机硬件之上,操作系统之下,随着CPU的强大,在一个硬件下运行两个系统
特权指令只能由核心态调用,又内核程序执行。
内核是计算机配置上的底层软件,实现操作系统内核功能(时间功能,记事本功能)的那些程序就是内核程序(微内核)。
disk:存放OS
BIOS:基本IO处理系统,检测鼠标键盘等硬件,然后启动bootloader加载OS
bootloader:加载OS到内存
系统调用,程序发出调用请求,等待或继续。如C语言调用print实则调用底层的write的方法
异常:处理出错,同步,杀死或重新执行程序。保存现场。异常处理。恢复现场、
中断:断网等,异步,对程序透明,硬件得到中断号进行相应的处理,软件保存处理状态。CPU进入核心态。有了中断可以实现多道程序并发。用户态到核心态的切换 。内中断,CPU内部与当前指令有关,外中断(CPU外部),外设请求,人工干预等。
在计算机运行中,内核是被信任的第三方,程序通过操作系统使用内存,避免底层的复杂性
硬盘、内存物理空间。占用内存逻辑空间。逻辑*(地址)一维空间在物理空间中。
并发与并行。并发指的是多个程序交替进行,并行是指一起进行。
连续分配有碎片空间内存,非连续分配。允许共享代码与数据,更好的利用内存管理,一个程序的物理空间是非连续的、可以进行分段分页分配空间
操作系统提供命令接口(脱机命名接口,联机命令接口)
程序接口
GUI
程序就是一个指令序列,程序段(代码),数据段(变量),PCB(进程描述信息,与处理机相关信息)三个组成进程实体,
进程三种基本状态,运行态,就绪态(等待CPU已经具备运行条件),阻塞态。进程控制会导致进程状态的切换。
原语:不允许中断,只能一气呵成,不可中断的原子操作。采用开中断,关中断指令。
进程通信指的是进程间信息的交换,进程拥有的内部空间相互独立。
进程通信:1.共享存储,系统为两个进程分配共用的空间,两个进程的访问是互斥的,有基于数据结构的共享与存储空间的共享,数其中数据结构的共享相当于固定数组,低级通信的一种方式。
2.管道通信,半双工通信,系统为程序开辟一个缓冲区,在某一时间段内是单向传递,如果需要双向传递需要设置一个两个管道、
3消息传递以格式化原语进行传递消息,直接通信,与间接通信
线程是CPU执行流的最小单位,分为用户级线程与内核级线程,操作系统只看得见内核级线程,因此内核级线程才是处理机的分配单位
处理机调度:在多道程序设计系统中,内存中有多道程序运行,他们相互争夺处理机这一重要的资源。处理机调度就是从就绪队列中,按照一定的算法选择一个进程并将处理机分配给它运行,以实现进程并发地执行。
中级调度:引用虚拟存储技术后,将不能运行的进程调至外村等待,等他重新具备运行条件重新调入内存。决定处于挂起状态的进程重新调入内存。(面向进程的)
高级调度:从后备队列的作业中选一个作业,给他们分配内存等必要资源,并建立相应的进程,以获得竞争处理机的权利。(面向作业)
低级调度,频率很高很快调度。(内存到CPU)
进程调度方式:抢占式与非抢占式
CPU利用率,只CPU忙碌时间占使用时间的比例。系统吞吐量:单位时间内完成作业的数量
调度算法: 1.先来先服务对长作业有利。对短作业不利 2 短作业优先 3 高响应优先、
时间片轮转算法:用于进程调度。
优先级调度算法:每个进程有各自的优先级。调度时选择优先级最高的作业。系统的进程的优先级高于用户进程。前台进程优先级高于后台进程。
多级反馈队列算法:其他算法的折中平衡
管程(一种特殊的软件模块):
实现进程的互斥与同步。 进程互斥的三种软件方法:1.单标志法2.双标志法3皮特森算法(互相谦让)
进程互斥的三种硬件方法:1.中断屏蔽法2 TS指令3 swap指令
生产者消费者:共享一个初始为空大小未n的缓冲区,多个生产者进程互斥,生产者与消费者同步。
安全序列(安全状态)、不安全状态、死锁
内存管理:程序装入的三种方式1.绝对装入2.静态重地位3.动态重定位(允许程序在内存中移动)
内存保护:在CPU中设置一对一上下限寄存器。检查CPU是否越界