学习目标: 计算机系统由哪些组件组成?
计算机系统的组成: 计算机硬件: 处理器、存储器、I/O设备、系统总线。
计算机软件: 操作系统,操作系统上的应用软件。
程序执行流程: 该程序由一组存储在存储器中的指令组成。程序的执行是一个持续的指导执行过程。 指令的执行是装配线操作。就单个指令而言,一个指令首先存储在地址中PC寄存器,然后取出并存储在指令寄存器中,最后执行。但总的来说,当一个指令存储在指令寄存器中时,其下一个指令的地址被保存到PC寄存器。这个保存地址,用指令存储在指令寄存器中,同时执行三个动作。
指令行为分类: 该指令的行为大致可分为四类:数据传输、处理器和存储器之间的处理器I/O数据传输、数据相关算术操作或逻辑操作、控制程序行为。
操作系统的目标和功能: 目标: 方便:使计算机更容易使用。 有效性允许以更有效的方式使用计算机系统资源。 扩展能力:允许在不妨碍原有服务的前提下有效地开发、测试和引进新的系统功能。 功能: 程序开发:如编辑器和调试器,帮助程序员开发程序。 程序运行:在程序运行过程中提供环境,包括将指令和数据加载到内存和初始化I/O设备、文件等。 I/O设备访问:每个I/O设备的操作需要自己独特的指令集或控制信号,操作系统隐藏这些细节,并提供统一的读写控制接口。 文件访问控制:隐藏存储介质中文件数据的结构细节,提供简单统一的访问控制方法。拒绝不安全和未经授权的访问。 系统访问:对于一些特殊的系统资源和公共资源,操作系统必须保护资源访问,解决资源竞争中的冲突。 错误检测和响应:计算机系统在运行过程中可能会出现各种错误。操作系统必须提供响应,以消除错误条件,以尽量减少对正在运行的应用程序的影响。 簿记:一个良好的操作系统可以收集各种资源的利用率统计数据,监控响应时间等性能参数,以调整和改进操作系统的功能。
设计和实现操作系统的四个关键领域: 1.进程: 设计过程的目的是更好地实现多个程序设计、分时和实时事务处理系统。 过程是指计算机系统分配资源的最小单位,是计算机中正在运行的程序的实例。 过程的组成部分:程序实体、所需的相关资源和上下文的执行。其中,上下文的执行是操作系统管理过程的基础,由操作系统直接管理。一般包括各种处理器寄存器的内容、操作系统使用的信息(如过程优先级和过程是否等待特定信息I/O事件)。 2.内存管理: 为了支持模块化程序设计,操作系统需要有效有序地控制存储分配。 内存管理有五个责任:过程隔离、自动分配和管理、模块化程序设计、保护和访问控制、长期存储。 在典型情况下,操作系统使用虚拟存储和文件系统来实现内存管理。 三、信息保护与安全: 与操作系统相关的安全和保护问题可分为以下四类:保护系统不被打断,用户不能读取未经授权的数据,保护数据不被修改,用户身份的正确认证和数据的合法性认证。 4.调度和资源管理: 资源分配和调度策略需要考虑的三个因素:提供几乎相同和公平的访问机会,根据实际情况动态决策,获得最大的吞吐量和最小的响应时间。 实现调度:操作系统维护人员的多个队列。可以随时准备在短程队列中存储的过程,以及在长程队列中存储等待过程内存的过程。如果操作过程等待某个事务处理,则进入相应的事务处理等待过程。 从短程队列中选择进程执行策略:1.时间片轮状技术;2.优先调度。
操作系统核的典型功能: 流程管理: 创建和终止过程。 调度和分配过程。 进程切换。 进程同步和支持进程间通信。 管理过程控制块。 内存管理: 地址空间分配给过程。 内存交换。 管理内存页和段。 I/O管理相关: 缓冲区管理。 给进程分配I/O通道及设备。 支持功能: 中断处理。 记账。 监视。
linux内核组件: Signal:内核通过信号通知过程。 系统调用:通过系统调用要求系统服务。 过程与调度器:创建、管理、调度过程。 虚拟内存:为进程分配和管理虚拟内存。 文件系统:为文件、目录等文件相关对象提供全球、分层次的命名空间,提供文件系统函数。 网络协议:用户TCP/IP协议套件提供套接字接口。 字符设备驱动:管理一次向内核发送或接收字节数据的设备。 块设备驱动:管理以块为单位向内核发送和接收数据的设备。 网络设备驱动:管理网络接口卡和通信端口;连接到网桥或路由等网络设备。 陷阱与错误:处理CPU陷阱和错误。 物理内存:管理实际内存中的内存页面,并为虚拟内存分配内存页面。 中断:处理外设的中断。