操作系统
典型操作系统的组件:
1:应用软件
2:系统软件
-*2.1实用软件
-*2.2操作系统
-*2.2.1外壳 shell 通过 GUI-WIMP(window icon menu point)
即窗口管理程序
-*2.2.2内核
文件管理程序
设备驱动程序
内存管理程序
调度程序
分派程序
3:系统启动 通过bootstrap启动,将这部分启动程序存在ROM中,然后通过程序计数器的位置去读取海量存储器中的系统。将它读取到主存中。turn key system就是将所有程序放到ROM中,一键启动。
4:BIOS 基本io系统。指的是ROM中的一部分软件或软件组,但当今也通常把他叫做ROM
5:虚拟存储器,所需总内存超过系统内存的时候,内存管理程序通过在内存和海量存储器中来回切换程序和数据库,进行页面调度,假装有多余的内存空间。
6:进程:程序叫程序,执行程序的过程叫进程,而进程是动态的,有不同属性和状态的。
7:进程管理:协调进程的执行有关的任务是由操作系统内核中的调度程序和分派程序处理的。
调度程序维护一个进程池, 为了跟踪所有的进程,调度进程在主存中维护了一个信息块,我们叫进程表,每当进程请求执行的时候,调度程序都会为他建立一个新的表项,来为他维护他的状态,比如给他分配的内存空间(由内存管理程序获得),进程的优先级,还有进程的状态是ready还是wait,dead。
分派程序是内核上的一个组件,他来确保被调度程序调度的程序执行,在分时/多任务系统中,这个任务是依靠【多道程序设计】来完成的,先将事件划分给不同的时间片,然后把cpu的注意力放在就绪(ready)进程上,允许每个进程一次执行一个时间片,这种从一个进程改变到另一个进程的过程叫进程切换,或者进程上下文切换。每次给进程分派时间片的时候,都会初始化一个计时器电路,通过产生一个中断信号来指示时间片的暂停,然后cpu对中断信号的响应就是记录下它在当前进程的状态,位置,完成生命周期去执行被称为中断处理程序的程序,这个程序是预先定义好在主存的某个位置上的。中断处理程序是分派程序的一部分,它用来描述分派程序如何响应中断请求。
中断后,控制权重新回到分派程序上,这时候分派进程允许调度程序更新进程表,比如更改优先级之类的。然后根据优先级,重新选择将要执行的时间片。
8:处理竞争
8.1 信号量
8.2 死锁的避免
9:安全性
9.1来自机器外部的攻击 如模拟系统登录让用户以为是在和系统交互,但实际是与模拟者交互
9.2 来自机器内部的攻击