define:操作系统是应用程序和硬件之间的一层软件
1.功能:
(1)防止硬件被失控的应用程序滥用
(2)应用程序利用操作系统,控制复杂庞大的硬件
2如何实现:
操作系统通过几个抽象的概念来实现
(1)文件:文件是对I/O设备的抽象表示
(2)虚拟内存:是对主存,磁盘,和I/O设备的抽象表示
(3)进程:是对cpu,主存,I/O设备的抽象表示
3.进程
进程是计算机中最成功和重要的概念。
进程:是对正在运行的程序的一种抽象。
并发运行:是指一个进程执行指令和另一个进程执行指令是交错的
上下文切换:操作系统执行交错执行的机制
上下文:操作系统跟踪进程的状态
例子:
hello程序和shell程序交错执行。
最开始,只有shell进程在运行,等待命令行的输入。
我们让它运行hello程序。此时shell会调用一个专门的函数,也就是系统调用。系统调用将操作系统控制权交给操作系统。
操作系统将shell的上下文保存,创建一个hello的上下文,和进程。
然后将控制权交给hello进程。
hello进程结束之后,控制权交给shell,并恢复其上下文。
由例子可知:一个进程到另一个进程的转换是**操作系统内核(系统管理全部进程所用代码和数据结构的集合)**管理的。
4.线程
一个进程由多个线程(执行单元)组成
原因:多线程比多进程之间更容易共享数据,也更高效
5.虚拟内存
指的是每个进程独占内存
虚拟地址空间:每个进程看到的内存都是一样的由下到上依次是:
.程序代码和数据
.堆
.共享库
.栈
.内核虚拟内存:位于顶部区域,不允许程序读这个区的内容,或者调用这个区的函数
6.文件
文件就是字节序列,仅此而已