一、操作系统基本概念
定义:操作系统是管理软硬件资源、控制程序执行,改善人机界面,合理组织计算机工作流程和为用户使用计算机提供良好运行环境的一种系统软件
任务:管理好计算机全部软硬件资源,提高计算机的利用率;担任用户与计算机之间的接口,使用户通过操作系统提供的命令或菜单方便地使用计算机
目的是管理计算机,任务是管理好软件硬件资源
二、不同操作系统设计目标
PC:支持复杂的计算机游戏、商务软件、以及任何可能的应用软件
手机:更注重友好方便的用户界面
大型主机:更加注重硬件能力的优化利用
三、操作系统的功能
从资源管理的角度划分:cpu管理、存储管理、I/O设备管理、文件系统、用户接口
操作系统主要特性:并发性,共享性,异步性
四、操作系统引导和控制计算机
第一步:上电
从指令存储器中的第一条指令地址处:0ffff:0000这个内存中取出一条指令执行,转向BIOS软件的入口。(BIOS:基本输入输出)
第二步:BIOS自检和加载引导扇区
第一,进行计算机自检,即检查计算机是否出现异常,是否可以继续运行下去;
第二,加载引导扇区,即把磁盘引导扇区的内容加载到内存中来,并且转跳到引导程序的第一条指令。
第三步:加载引导扇区(Boot Loader)
引导扇区就是硬盘的第一个逻辑扇区,硬盘需要先加载一个分区上的引导扇区,然后由该引导扇区来加载本分区上的操作系统。
第四步: 加载操作系统(OS Loader)
所谓加载操作系统,也就是把操作系统从磁盘拷贝到内存。由于此时还没有文件系统,引导程序必须通过绝对位置来访问,即获取操作系统在磁盘的开始扇区和结束扇区。
第五步: 运行操作系统
引导程序把操作系统拷贝到内存后所要做的第一件事就是转跳到操作系统的第一条指令,这样,操作系统就开始运行了
一、中断
1.中断处理:中断是指CPU对系统发生的某个事件做出的一种反应,即CPU暂停正在执行的程序,保留现场(CPU当前的状态)后, 自动转去执行相应的处理程序,处理完该事件后再返回断点,继续执行被“打断”的那个程序。
中断源(中断事件):引起中断的事件
中断请求:中断源向CPU提出处理的请求
断点:发生中断时,被中断的暂停点
中断处理程序:每类中断事件的处理程序
2.中断对于操作系统的作用:
中断或中断机制是实现多道程序设计与并发执行的基础和必要条件,如果没有中断,操作系统就无法获得系统的控制权,就不会将CPU(也作为一种资源)分派给不同的进程而实现并发执行。
3.中断类型
强迫性中断
时钟中断:如硬件实时时钟到时等
输入输出中断:设备数据传输结束/设备出错等。
控制台中断:系统操作员通过控制台发出命令等。
硬件故障中断:如掉电、内存校验错等。
程序性中断:如地址越界、数据溢出,除零等。
自愿性中断:程序事先有意识安排的;通过执行访管指令(系统调用)而引起的,其目的要求系统提供某种服务。
二、CPU调度:对处理机的调度最终归结为对进程和线程的管理
1.进程定义:进程是一个可并发执行的具有独立功能的程序关于某个数据集合的一次执行过程,也是操作系统进行资源分配和保护的基本单位
2.a process = a program in execution进程包含了正在运行的一个程序的所有状态信息。包括:程序代码、程序的数据、PC中的值,用于指示下一条将运行的指令、一组通用的寄存器的当前值,堆和栈、一组系统资源(如打开的文件)。
3.进程三态:就绪态、运行态、等待态
4.PCB系统利用PCB来控制和管理进程,所以PCB是系统感知进程存在的唯一标志。
进程与PCB是一一对应的
5.进程存在不足:进程时空的开销大;进程间通信的代价大;进程之间的并发性粒度较粗;不适合并行计算和分布式计算的要求;不适合客户/服务器计算的要求
6.线程是独立运行的基本单位。引入线程的目的为了简化线程间的通信,以小的开销提高进程内的并发程度。
7.引入进程的好处:多个程序可并发执行,改善资源使用率,提高系统效率
引入线程的好处:减少并发程序执行时所付出的时空开销,使得并发粒度更细、并发性更好
8.调度层次:高级调度:作业调度:外存调入内存
低级调度:进程调度,分配cpu
中级调度:内存调入外存
一、高速缓存Cache:解决CPU速度与内存速度不匹配矛盾
二、虚拟存储器是操作系统提供的一个假象的特大存储器。它不是物理上扩大内存空间,而是逻辑上扩充了内存容量,用户可以使用比实际物理内容大得多的虚拟存储容量。在硬件支持下,软硬件相互协作,将内存和外存结合起来统一使用。通过这种方法把内存扩充,使用户在编制程序时不受内存限制
三、内存管理
内存管理程序首先通过内存映射机制把用户的逻辑地址映射到物理地址,在用户程序运行时,
如果发现程序中要用的虚地址没有对应的物理内存时,就发出请页要求(1)
如果有空闲的内存可供分配,就请求分配内存(2),并把正在使用的物理页记录在页缓存中(3)。
如果没有足够的内存可供分配,那么就调用交换机制,腾出一部分内存(4,5)。
交换机制中也要用到交换缓存(6),并且把物理页内容交换到交换文件中后也要修改页表来映射文件地址(7)
地址映射中要通过TLB(快表)来寻找物理页(8)
1.I/O管理概念:就是设备管理,他是操作系统的一个重要组成部分,负责管理系统中的所有外部设备。
存储设备:存放各种信息:软盘硬盘磁带
I/O设备:输入输出设备:鼠标打印机
2.按资源分配角度分类:
独占设备:在一段时间只有一个进程使用的设备,一般为低速I/O设备
共享设备:在一段时间内多个进程使用的设备
虚设备:假脱机技术
3.Linux设备分类
块设备,字符设备,网络设备
4.设备管理的目标:1.完成用户请求控制各种设备的操作2.向用户提供使用外部设备的接口,拜托繁琐的编程负担。提高cpu与设备,设备与设备之间的并行工作能力,事系统有条不紊的工作
文件:是在逻辑上具有完整意义的并赋有名称的 信息集合体。
文件系统:是操作系统中负责操纵和管理文件的一整套设施,它实现文件的建立、读写、修改、共享和保护等操作,还负责完成对文件的按名存取和进行存取控制。