操作系统基本概念

一、基本概念

进程:对CPU使用的抽象

虚拟内存:对内存的抽象

文件系统:对磁盘的抽象

设计思想:

(1)分层

(2)内核+模块化

1、并发

(1)流水线:指令级别的并发

         指令读取-->指令译码-->读操作数-->指令执行-->写结果

         分这5个阶梯,每个阶梯都允许有另外一条指令同时执行

(2)进程:cpu级别的并发,多道编程

(3)线程:线程级别的并发

2、操作系统的演进

(1)单一操作员单一控制端的操作系统 

(2)批处理操作系统

(3)多道批处理操作系统

(4)分时操作系统

(5)实时操作系统


3、中断

     设备在完成自己的任务后向CPU发出中断,CPU判断优先级,然后确定是否响应。如果响应,则执行中断服务程序,并在中断服务程序执行完毕后继续执行原来的程序。


4、存储的抽象

      寄存器--缓存--主存--磁盘


5、用户态与内核态(为了区分不同程序的不同权限)

     内核态,即特权态,可以访问较多的资源

     用户态,即非特权态,可以访问的资源受限      

     程序执行时CPU的的一个状态位是内核态,程序就是运行在内核态上。

6、地址空间

     进程空间也成为地址空间,即进程要用的所有资源


二、进程管理

1、进程通信

(1)管道

(2)套接字

        服务区套接字接受请求后在服务端创建客户套接字与客户端的套接字点对点对接。

(3)信号Signal

(4)信号量Semaphore,同步工具

(5)进程共享内存

(6)消息队列

2、线程模型

(1)现代操作系统,用户态的执行系统负责进程内部线程在非阻塞时的切换,内核态的操作系统负责阻塞线程的切换

(2)程序在中断或异常时自动切换到内核态,另外程序执行系统调用的时候,也由用户态进入内核态。

3、线程同步

     (1)锁的进化

     (2)锁--睡觉与唤醒--信号量(信号量编写存在困难与效率低下问题,交由管程monitor,即监视器来处理)

     (3)硬件提供的原子操作:interrupt enable/disable , load/store , test & set


三、内存管理

1、抽象

      缓存--主存--磁盘

2、目标:地址保护与地址独立(虚拟地址与物理地址的独立

3、页式内存管理--段式内存管理

4、页面更换算法:NRU(Not Recently Used,最近未使用算法), LRU(Leaset Recently Used,最近使用最少算法)


四、文件管理

1、文件系统:对磁盘的抽象

2、文件夹:一个记录每个文件在磁盘上的地址的数据结构

3、硬链接,对方存的是物理地址,文件创建者删除不了文件,只是在链接数上-1,软链接,存的是文件路径,可以删除文件

4、内存映射的文件访问/直接内存访问IO


五、I/O管理

1、屏蔽输入输出设备的差异

2、在不同设计之间进行数据表示的转换


你可能感兴趣的:(操作系统基本概念)