概念汇总
1.操作系统的定义/操作系统究竟是什么?
操作系统是一直运行在内核模式下的一系列程序,向下管理分配硬件资源,向上为用户提供服务和一系列接口。
操作系统也是底层的系统资源分配者(负责管理所有的资源、对于众多运行的进程公平公正的分配底层的运算资源并让他们以互不影响的方式运行)
和程序运行的管理程序(OS是整个计算机系统的管理程序 避免错误的产生和对计算机的不正当使用)
2.操作系统的定义/身份? / 操作系统做了什么事?
操作系统也是底层的系统资源分配者(负责管理所有的资源、对于众多运行的进程公平公正的分配底层的运算资源并让他们以互不影响的方式运行)
和程序运行的管理程序(OS是整个计算机系统的管理程序 避免错误的产生和对计算机的不正当使用)
3.作业池(job pool):在磁盘中开辟一块独立的区域,保存当前系统中的所有作业(要运行的进程),需要运算的时候在作业池中的所有进程中选择它的子集加载到内存中
4.调度(scheduling):当有多个竞争者去争抢某一类资源的时候,需要按照某一种规则去规定他们使用这种资源的顺序,这个过程就称为调度。
5.作业调度(job scheduling):如何在整个作业池的所有作业中,选择所有作业的子集加载到内存当中的过程就称为作业调度的过程
6.CPU调度/短期调度(CPU scheduling):从内存中找到一个进程,把它加载到CPU中让它运行。
7.总结:在os中,采用授权的方式,来保证一个进程的运行不会影响到其他进程的运行
8.设备控制器(device controller)
某一类设备具有一个设备控制器。通过引起中断来通知CPU它已完成该做的操作了。
本身有一定的缓存(local buffer)和寄存器(register),利用这些寄存器,向寄存器中写一些命令去控制对应的I/O设备。本地缓存:用于读取一些字符/写入一些字符的时候,可以先把这些字符放到本地缓存中
9.中断(interrupt)
概念:可以视作一种机制。让CPU放下正在运行的进程,转而去处理一些其他的更为紧急的进程。
10.陷阱(trap):由错误或用户请求引起的软件生成的中断
11.寄存器(registers):保存被打断的进程运行到了哪一个指令
12.程序计数器(program counter):指定被打断进程下一个要执行的指令在内存中的位置
13.什么是内存?
巨大的字(字节)的数组,每一个字(字节)都有它的绝对地址
14.3种安全性问题
用户进程不应该干涉os进程的执行
一个进程执行过程中,不应该去访问另外一个进程拥有的内存地址
一个程序不能无限制运行(崩了的程序要被kill)
15.特权指令(privilege instruction):指对于底层硬件的操作,包括os内部算法的执行。把这些可能对os造成伤害的语句叫做特权指令。
特权指令必须在内核模式下才能执行,用户模式下,一旦涉及到申请底层资源(比如需要键盘、磁盘等I/O设备时),要由当前计算机先转到内核模式下,再由os对底层硬件进行使用
16.微内核结构的思想:把内核中认为不太重要的功能从内核空间转到用户空间,在内核空间只保存最重要的三个功能–进程管理、内存管理和通信。
注意:用户不能直接调用os在用户空间中的程序,所有系统调用依然发生在内核中
17.进程的概念:在并发环境下,一个程序在某一个数据集上的一次执行的过程。是整个计算机系统资源分配和调度分派的独立(不是最小)单位。
18.批处理系统中,正在执行的程序叫jobs
分时系统中,正在执行的程序叫tasks或user programs
多道程序系统中,正在执行的程序叫process
19.分派(dispatch):把CPU使用权分派给调度程序选择的进程
20.进程调度器(Process scheduler):选择一个可用进程到CPU上执行
21.多道程序的度:内存中并发运行的进程数量
22.CPU密集型进程(CPU-bound Process):很少产生I/O请求,而是将更多时间用于执行计算
23.I/O密集型进程(I/O-bound process):执行I/O比执行计算需要花费更多时间
24.中期调度程序(Medium-term scheduler)
将进程从内存中移出,放回到作业池中,从而降低多道程序的度的一种机制。
交换(swap):提供一种机制,可以将进程从内存中移出,之后进程可以被重新调入内存并从中断处继续执行。还分为swap out和swap in
25.上下文切换(context switch)
定义:当CPU切换到另一个进程的时候,需要保存当前进程的状态、并加载(load)新进程保存的状态
26.进程树