操作系统-第二章

一.启动

  • 计算机体系结构概述
  • 计算机内存和硬盘布局
  • 开机顺序

二.中断、异常和系统调用

  • 背景
  • 中断、异常和系统调用相比较
  • 中断、异常处理机制
  • 系统调用的概念
  • 系统调用的实现
  • 程序调用与系统调用的不同之处
  • 开销

启动
CPU, I/O, 内存通过总线连接。
DISK(硬盘):存放OS
BIOS:基本I/O处理系统(按下电源,就检查各种外设,然后才能让他加载相应软件执行)

  • 从一个内存地址开始执行: 例如CS:IP=0xf000:fff0(CS:段寄存器;IP:指令寄存器)
  • POST(加电自检)寻找显卡和执行BIOS
  • 然后将Bootloader从硬盘放到内存中去
    Bootloader:加载OS,让OS从硬盘放到内存里去,然后让CPU可以执行操作系统

=> BIOS加载Bootloader,Bootloader加载OS

操作系统与设备(外设)和应用程序交互

中断、异常和系统调用
系统调用:(来源于应用程序)应用程序主动向操作系统发出服务请求。异步或同步
异常:被动 (来源于不良的应用程序)非法指令或其它花的处理状态(e.g.内存出错)。应用程序意想不到的行为:例如除0操作。或者恶意程序越过权限访问另外程序的地址空间。同步 一定知道什么时候产生异常
中断:(来源于外设:键盘/鼠标/网卡/声卡/显卡等)来自不同的硬件设备的计时器和网络的中断。异步不知道什么时候会产生中断

响应
-中断:持续,对用户应用程序是透明的(应用程序不会感知到中断的产生)
-异常:杀死或者重新执行意想不到的应用程序指令,对用户应用程序也是透明的(应用程序不会感知到中断的产生)
-系统调用:等待和持续

2.2操作系统的中断、异常和系统调用
中断/异常处理机制
中断是外设的事件,异常是CPU的事件;中断/异常迫使CPU访问一些被中断和异常服务访问的功能。

中断处理机制
硬件(外设):设置中断标记(CPU初始化)
-将内部/外部事件设置中断标记;
-中断事件的ID(程序访问的中断向量地址)
软件(操作系统):
-保存当前处理状态(被打断程序的执行现场)
-中断服务程序处理
-清除中断标记
-恢复之前保存的处理状态(被打断的程序继续执行)

异常处理机制
异常:异常编号
-保存产生异常现场
-异常处理:杀死产生异常的程序;重新执行异常指令
-恢复现场

系统调用
应用程序发出请求,操作系统完成后,应用程序返回成功/失败

**用户态:**应用程序在执行的过程中,CPU执行的特权级的状态(很低,不能访问特殊机器指令和IO)。
**内核态:**应用程序在执行的过程中,CPU执行的特权级的状态(高,操作系统可以执行CPU任何一条

跨越操作系统边界的开销

  • 在执行时间上超过程序调用
  • 开销:
    • 建立中断/异常/系统调用号与对应服务例程映射关系的初始化开销;
    • 建立内核堆栈(操作系统和应用程序的堆栈不一样);
    • 验证参数(操作系统会检查数据);
    • 内核态映射到用户态的地址空间,更新页面映射权限(内存拷贝开销);
    • 内核态独立地址空间TLB。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
操作系统是计算机系统中最基础的软件之一,它负责管理和控制计算机的硬件和软件资源,为用户和应用程序提供一个良好的工作环境。在第二章的课后programming project中,我们需要实现一个简单的操作系统,下面我将用300字中文来回答这个问题。 为了完成这个项目,我们需要考虑以下几个关键概念: 1. 进程管理:操作系统需要管理计算机中的进程,包括创建、终止、切换和调度进程。我们可以使用多线程来模拟进程,并使用调度算法决定进程的执行顺序。 2. 内存管理:操作系统需要管理计算机的内存资源,包括为进程分配内存空间、地址映射和内存回收。我们可以使用虚拟内存和页表来实现内存管理。 3. 文件系统:操作系统需要提供文件管理功能,包括文件的创建、读写和删除。我们可以使用文件控制块来描述和管理文件,并使用文件系统调用来实现文件操作。 4. 设备管理:操作系统需要管理计算机的硬件设备,包括输入输出设备、磁盘和网络等。我们可以使用设备驱动程序来控制硬件设备,并使用中断来处理设备的响应和中断事件。 在实现这个操作系统的过程中,我们需要熟悉操作系统的原理和概念,如进程管理、内存管理、文件系统和设备管理等。我们可以使用编程语言如C、C++或Java来实现这个操作系统,并使用模拟器来模拟计算机硬件的行为。 总的来说,课后programming project是一个很好的方式来深入学习和理解操作系统的概念和原理。通过实际动手实现一个简单的操作系统,我们可以更好地理解操作系统的工作原理,提高我们的编程能力和操作系统的应用能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值