文章目录
  1. 从OS角度看计算机系统
    1. 隔离
    2. 虚拟内存
    3. 特权模式&中断
  2. Lab1

从OS角度看计算机系统

使用操作系统,在一个CPU上并发的执行多个程序的实例,我们称为进程。在多个进程相互执行时如何做到相互之间不互相影响,保证系统是安全的,这时需要对程序的执行进行隔离。这种隔离就需要计算机系统结构给予支持。而这里主要的隔离技术即虚拟内存特权模式(中断)

隔离

  • 隔离以避免对整个系统的可用性、可靠性、安全产生影响;
  • 运行的程序通常是隔离的单元;
  • 技术1:地址空间。一个程序只能寻址自己的内存,任一程序若无许可,则不能访问不属于自己的内存。
  • 技术2:特权模式(中断机制)。防止应用程序访问设备与敏感的CPU寄存器。使用中断机制进行特权模式的切换。

虚拟内存

由操作系统提供的一种对物理内存的抽象。

特权模式&中断

  • 内核模式(低特权级)
  • 用户模式(高特权级)

Lab1

安装qemu-system

1
apt install -y qemu-system

进入ucore/labcodes/lab1文件夹,使用make命令编译。

使用qemu-system-x86启动ucore.img但是并不马上执行,以便我们用gdb对其进行远程调试。如无特别说明,以下命令都是在ucore/labcodes/lab1目录下执行。

1
qemu-system-i386 -S -s -hda bin/ucore.img -monitor stdio

再用以下内容替换~/.gdbinit文件

1
2
3
4
file bin/kernel
target remote :1234
break kern_init
set arch i8086

接下来运行gdb,效果如下图所示:

 

参考链接:

清华大学操作系统实验ucore