Loading... # 操作系统概述 ## 目标和功能 操作系统是控制应用执行的程序,是应用程序和计算机硬件间的接口 目标:方便;有效;扩展能力(evolve) 提供服务: * 程序开发 * 程序运行 * I/O设备访问 * 文件访问控制 * 系统访问 * 错误检测和响应 * 记账 典型计算机系统中的重要接口 * ISA,Instruction set architecture指令系统体系结构 * ABI,Application binary interface应用程序二进制接口 * API,Application programming interface应用程序编程接口 操作系统不断发展原因: * 硬件升级和新型硬件的出现 * 新的服务 * 纠正错误 ## 操作系统的发展史 ### 串行处理(serial processing) **1940s后期~1950s中期,程序员需直接与计算机硬件打交道,不存在操作系统**,必须顺序访问计算机 问题:调度scheduling(闲置或强制停止);准备时间set-up time(发生错误得重新开始) ### 简单批处理系统(simple bash system) 使用监控程序(monitor)软件,用户不再直接访问机器,而是将作业交给计算机操作员,由其将整个批作业放在输入设备,供监控程序使用。每个程序完成处理后返回到监控程序,同时监控程序自动加载下一个程序 JCL,job control language作业控制语言:一种特殊类型的程序设计语言,用于为监控程序提供指令 其他硬件: * 内存保护:不允许改变包含监控程序的内存区域 * 定时器:防止一个作业独占(monopolizing)系统,定时,时间到就停止用户程序,交还控制权给监控程序 * 特权指令:部分机器指令只能被监控程序执行(eg:I/O指令) * 中断:使得操作系统让用户程序放弃控制权或从用户程序获得控制权时,具有更大的灵活性 用户程序以**用户模式**(user mode)执行,部分内存区域被保护且不能执行特权指令 监控程序以**系统态或内核模式**(kernel mode)执行,不仅可以访问受保护区域,还可以执行特权指令 ### 多道批处理系统(multi-programmed bash system) 尽管简单批处理拥有了自动作业序列,由于输入来自磁盘读取较慢,以及用户作业在I/O中断过程中,处理器仍然经常处于等待状态,为了进一步提高处于理器的利用率,人们将多道作业同时加载到内存,当有作业由于中断阻塞时,处理器读取另一个作业运行,产生了多道批处理操作系统 比单道程序设计系统复杂,待运行的多个作业必须保留在内存中,需要内存管理(memory management),并需要某种算法决定处理器运行哪个作业 ### 分时系统(time-sharing system) 对于一些作业如事务处理,需要直接与计算机进行交互;对于多道程序设计,如果可以处理多个交互作业,**多个用户分享处理器时间**,该技术称为分时,主要是为了**减少响应时间** 第一个分时系统是MIT开发的CTSS ## 主要成就 操作系统开发中的4个重要理论进展 * 进程 * 信息保护和安全 * 内存管理 * 调度和资源管理 ### 进程 1960s提出 推动进程概念发展:多道程序批处理操作,分时和实时事务系统 **设计OS的困难:** * 错误的同步,improper synchronization * 互斥失败,failed mutual exclusion * 不确定的程序操作,nondeterminate program operation * 死锁,deadlocks **进程的组成** * 一段可执行的程序 * 程序所需要的相关数据 * 程序的执行上下文(execution context,也称进程状态process state) ![image-20220311175840704.png](http://xherlock.top/usr/uploads/2022/03/2701283864.png) ### 内存管理 **OS的存储器管理职责** * 进程隔离,process isolation * 自动分配和管理,automatic allocation and management * 模块化程序设计,support of modular programming * 保护和访问控制,protection and access control * 长期存储,long-term storage **VM,virtual memory虚拟内存** 最后修改:2022 年 03 月 13 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 0 如果觉得我的文章对你有用,请随意赞赏