1、用户模式

用户空间保存的是应用程序的代码和数据,是程序私有的,其他程序一般无法访问。当执行应用程序自己的代码时,称为 用户模式(User Mode)。

当运行在用户模式的应用程序需要输入输出、申请内存等比较底层的操作时,就必须调用操作系统提供的 API 函数,从而进入内核模式;操作完成后,继续执行应用程序的代码,就又回到了用户模式。

用户模式就是执行应用程度代码,访问用户空间;内核模式就是执行内核代码,访问内核空间(当然也有权限访问用户空间)。

2、计算机开机后,操作系统被加载到RAM。

3、操作系统提供给应用程序的接口

系统调用是操作系统专门提供给应用程序的接口,也是应用程序获取操作系统服务的唯一途径。它是操作系统提供给程序设计人员的一种服务。程序设计人员在编写程序时,可以利用系统调用来请求操作系统的服务。

4、管态

当CPU执行操作系统代码时,称处理机处于管态。

管态又叫特权态,系统态或核心态,是操作系统管理的程序执行时,机器所处的状态。

进程切换是在进程调度的过程中发生的,此时系统一定处于核心态

5、用户态到内核态的条件

sin函数不是系统函数;用户态到内核态的条件1、异常 2、系统调用 3、外部设备的中断。

6、多道批处理系统

多道批处理系统是一种非交互方式的操作系统,用户提交作业首先进入外存(通常是磁盘)中的作业队列,然后经过作业调度进入内存,再通过进程调度占有CPU。该系统主要追求的是“高效率”和“高吞吐量”。

吞吐量是指对网络、设备、端口、虚电路或其他设施,单位时间内成功地传送数据的数量(以比特、字节、分组等测量)。

吞吐量与带宽的区分:吞吐量和带宽是很容易搞混的一个词,两者的单位都是Mbps。先来看两者对应的英语,吞吐量:throughput;带宽:Max net bitrate。当讨论通信链路的带宽时,一般是指链路上每秒所能传送的比特数,它取决于链路时钟速率和信道编码,在计算机网络中又称为线速。可以说以太网的带宽是10Mbps。但是需要区分链路上的可用带宽(带宽)与实际链路中每秒所能传送的比特数(吞吐量)。通常更倾向于用“吞吐量”一词来表示一个系统的测试性能。这样,因为实现受各种低效率因素的影响,所以由一段带宽为10Mbps的链路连接的一对节点可能只达到2Mbps的吞吐量。这样就意味着,一个主机上的应用能够以2Mbps的速度向另外的一个主机发送数据。

网络中速率、带宽、吞吐量的关系就是都是网络通信系统中的技术指标。
区别如下:
(1)速率是一个动态的指标,单位为mbps,实际速率受到具体网络应用和网络拥堵情况影响;
(2)带宽是指信道的理论最大数据传输速率,单位也为mbps;
(3)吞吐量是指在没有帧丢失的情况下,设备能够接受并转发的最大数据速率。

7、并发并行

单核CPU在同一时间只能处理一个进程。多核CPU可以同时执行多个进程,进程个数不高于核数。

并发:当有多个线程在操作时,如果系统只有一个CPU,则它根本不可能真正同时进行一个以上的线程,它只能把CPU运行时间划分成若干个时间段,再将时间段分配给各个线程执行,在一个时间段的线程代码运行时,其它线程处于挂起状。.这种方式我们称之为并发(Concurrent)。

并行:当系统有一个以上CPU时,则线程的操作有可能非并发。当一个CPU执行一个线程时,另一个CPU可以执行另一个线程,两个线程互不抢占CPU资源,可以同时进行,这种方式我们称之为并行(Parallel)。 

并行在多处理器系统中存在,而并发可以在单处理器和多处理器系统中都存在。

并行要求程序能够同时执行多个操作,而并发只是要求程序“看着像是”同时执行多个操作,其实是交替执行。

android user模式_android user模式

并行

android user模式_操作系统_02

并发 

 8、特权指令

在多用户、多任务的计算机系统中特权指令必不可少。它主要用于系统资源的分配和管理,包括改变系统工作方式,检测用户的访问权限,修改虚拟存储器管理的段表、页表,完成任务的创建和切换等。

常见的特权指令有以下几种:

(1)有关对I/O设备使用的指令 如启动I/O设备指令、测试I/O设备工作状态和控制I/O设备动作的指令等。

(2)有关访问程序状态的指令 如对程序状态字(PSW)的指令等。

(3)存取特殊寄存器指令 如存取中断寄存器、时钟寄存器等指令。

(4)其他指令

特权指令只允许操作系统使用,而不允许普通用户使用 

9、抢占式优先级调度算法:

        在这种调度方式下,进程调度程序把处理机分配给当时优先级最高的就绪进程,使之执行。一旦出现了另一个优先级更高的就绪进程时,进程调度程序就停止正在执行的进程,将处理机分配给新出现的优先级最高的就绪进程。

10、操作系统之锁的实现方式

以中断启用与禁止来实现锁>>>>以测试和设置指令来实现锁>>>>以非繁忙等待,中断启用和禁止来实现锁>>>>>以最少繁忙等待 测试与设置来实现锁