标签 tss 下的文章

  • 📂fork.c(linux0.11)教程

    /* 注意:signal.c和fork.c文件的编译选项内不能有vc变量优化选项/Og,因为这两个文件 内的函数参数内包含了函数返回地址等内容。如果加了/Og选项,编译器就会在认为 这些参数不再使用后占用该内存,导致函数返回时出错。 math/math_em...

  • 📂哈工大OS实验四——进程运行轨迹的跟踪与统计教程

    进程运行轨迹的跟踪与统计进程从创建(Linux 下调用 fork())到结束的整个过程就是进程的生命期,进程在其生命期中的运行轨迹实际上就表现为进程状态的多次切换,如进程创建以后会成为就绪态;当该进程被调度以后会切换到运行态;在运行的过程中如果启动了一个文件读写操作,操作系统会将该进程切换到阻塞态(等待态)从而让出 CPU;当文件读写完毕以后,操作系统会在将其切换成就绪态,等待进程调度算法来...

  • 📂x86体系下linux中的任务切换与TSS教程

    tss的作用举例:保存不同特权级别下任务所使用的寄存器,特别重要的是esp,因为比如中断后,涉及特权级切换时(一个任务切换),首先要切换栈,这个栈显然是内核栈,那么如何找到该栈的地址呢,这需要从tss段中得到,这样后续的执行才有所依托(在x86机器上,c语言的函数调用是通过栈实现的)。只要涉及地特权环到高特权环的任务切换,都需要找到高特权环对应的栈,因此需要esp2,esp1,esp0起码三...