• 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 因宏定义,无法跟踪,设置断点失败。
    实验过程如下






  • 相关阅读:
    matlab练习程序(连续系统辨识与响应)
    【转】灵敏度可以是负值吗_【技术指南】 精确度,准确度,分辨率和灵敏度
    XStream升级1.4.18问题 规格严格
    基于Flink的网络流量实时解析 规格严格
    Maven构建时报错,File encoding has not been set, using platform encoding GBK解决方法 规格严格
    Spring Boot动态修改日志级别 规格严格
    内存分析工具 规格严格
    ES5.6.12客户端连接报错Caused by: java.lang.ClassNotFoundException: org.elasticsearch.http.AbstractHttpServe 规格严格
    动态调整日志等级 规格严格
    时序数据库存储初识1 规格严格
  • 原文地址:https://www.cnblogs.com/Ychancy/p/10089134.html
Copyright © 2020-2023  润新知