• 2019-2020-20199316《Linux内核原理与分析》第三周作业


    操作系统是如何工作的

    (一)计算机的三大法宝

    • 存储程序计算机
    • 函数调用堆栈机制
    • 中断机制

    (二)堆栈

    (1)堆栈相关寄存器

    • ESP:堆栈指针
    • EBP:基址指针,在c语言中用作记录当前函数调用基址。
      对于x86体系结构来讲,堆栈空间是从高地址向低地址增长的。

    (2)堆栈操作

    • push:栈顶地址减少4个字节(32位),然后将操作数亚茹栈顶存储单元;
    • pop:栈顶地址增加4个字节(32位),然后将栈顶存储的内容放回原寄存器。

    (3)其他关键寄存器

    CS:EIP:用于指向下一条指令地址,它的实用有几种不同情形:

    • 顺序执行:总是指向地址连续的下一条指令;
    • 跳转/分支:执行这样的指令时,CS:EIP的值会根据程序需要被修改;
    • call:将当前存储的值压入栈顶,然后指向被调用函数的入口地址;
    • ret:原来保存的值从栈顶弹出,回到CS:EIP中。

    (三)实验情况

    
       >cd ~/LinuxKernel/linux-3.9.4
        >rm -rf mykernel
        >patch -p1 < ../mykernel_for_linux3.9.4sc.patch
        >make allnoconfig
        >make
    
    

    
    然后进入到mykernel目录,查看mymain.c和myinterrupt.c:
    
        > cd mykernel
    
    

    
    查看mymain.c文件:
    
        >vi mymain.c
    
    

    
    查看myinterrupt.c文件:
    
        > vi myinterrupt.c
    
    

    (四)总结

    本次学习主要是进程的切换。在操作系统中,当时间片用完需要切换进程时,需要保存进程的运行环境和进度,待下次再被调度时,需要恢复这样的运行环境。我觉得这是操作系统能够实现多道处理的难点和重点!

  • 相关阅读:
    Lua多条件排序
    python_request 使用jsonpath取值结果,进行接口关联
    python_xlutils : python利用xlutils修改表格内容
    python_reques接口测试框架,Excel作为案例数据源
    正则表达式re模块的基础及简单应用
    linux下Rtree的安装
    du和df不一致的解决方法
    windows 版Tomcat 7.0的配置
    linux下搭建svn服务器
    【leetcode】1. Two Sums
  • 原文地址:https://www.cnblogs.com/destiny-love/p/11609312.html
Copyright © 2020-2023  润新知