zoukankan      html  css  js  c++  java
  • 2018-2019-1 20189208《Linux内核原理与分析》第九周作业

    活动

    main函数编译有问题,div 函数和系统中某个函数重名,浮点输出有问题,scanf也有问题
    修改如下

    scanf_s("%d %d", &a, &b);
    printf("div:%lf
    ", div1(a, b));
    

    整体代码如下

    #include "pch.h"
    #include <iostream>
    #include "../Staticlibtest/head.h"
    int main(void)
    {
            int a, b;
            printf("enter two numbers:");
            scanf_s("%d %d", &a, &b);
            printf("add:%d
    ", add(a, b));
            printf("sub:%d
    ", sub(a, b));
            printf("mul:%d
    ", mul(a, b));
            printf("div:%lf
    ", div1(a, b));
            return 0;
    }
    

    知识点

    本章研究进程调度时机、过程。

    时机:

    1.中断和进程调度的区别:中断不改变进程;进程调度是中断之后,切换进程。
    2.中断类型:
    硬中断:高电平-中断;
    软中断(异常):故障、退出、陷阱;
    3.schedule调用:
    进程主动调用:阻塞系统调用进程调用schedule函数;
    松散调用:内核代码随时调用,need_resched标记;
    4.上下文
    用户空间-用户进程上下文
    内核空间-进程上下文
    内核空间-中断上下文
    5.进程调度时机=调用schedule函数的时机:
    内核主动→schedule
    中断→用户空间
    6.调度策略:算法的目的资源利用效率最高/响应最即时。
    7.调度算法:实现调度策略的算法。
    8.进程分类方法
    资源占用:I/O消耗型进程、处理器消耗型进程;
    交互类型:交互式进程、批处理进程、实实时进程;
    9.实施进程(_FIFO、_RR)>普通进程(CFS)
    10.CFS:交互式进程响应较好,周期=进程数占用时间
    理论运行时间=调度周期
    权重
    11.每次调度时选择最小vruntime的进程
    12.时钟中断周期=10ms
    13.linux传统优先级与权重的转换关系是经验值
    14.进程切换=任务切换=进程上下文切换:切换全局目录→切换内核态堆栈和硬件上下文。
    15.进程上下文:用户地址空间、控制信息、硬件上下文;
    16.进程切换寄存器器:CR3、ESP寄存器、EIP寄存器及其他寄存器;
    17.Linux系统运行过程:
    用户态进程X→中断→保存现场→schedule 上下文切换→用户态Y→restore_all→iret箭头用户态进程Y
    18.进程

    19.进程上下文切换相关代码分析pre→next

    中断保存硬件上下文的方法:保存现场、恢复现场
    进程上下文的切换保存硬件上下文:switch_to宏
    20.操作系统整体架构

    22.进程占用的内存在3G以上属于内核态,所有进程共享。内核就像出租车,选择进程运行,没有进程就空跑。

    实验

    switch_to 因宏定义,无法跟踪,设置断点失败。
    实验过程如下






  • 相关阅读:
    浅谈几种筛法
    [jzoj]4271. 【NOIP2015模拟10.27】魔法阵(37种转移的dp)
    【gdoi2018 day2】第二题 滑稽子图(subgraph)(性质DP+多项式)
    礼物(中国剩余定理+拓展gcd求逆元+分治=拓展Lucus)
    【GDOI2016模拟3.15】基因合成(回文串+性质+DP)
    【NOIP2013模拟】终极武器(经典分析+二分区间)
    【GDOI2016模拟3.16】幂(容斥 + 模型复杂转化)
    Hbase-cdh5.14.2与kylin集成异常
    拉链表
    数仓分层的理解
  • 原文地址:https://www.cnblogs.com/Ychancy/p/10089134.html
Copyright © 2011-2022 走看看