- 博客(13)
- 收藏
- 关注
原创 Linux操作系统分析学习心得
如果目标进程是用户进程(其 mm 字段非空),则需要切换页表,调用 switch_mm_irqs_off() 更新 CR3 寄存器,使 CPU 开始使用新进程的虚拟内存映射,同时使用内存屏障确保内存操作顺序的一致性。这是上下文切换的核心操作,会保存当前进程的寄存器状态,恢复目标进程之前保存的寄存器值,切换内核堆栈,并修改指令指针使 CPU 从目标进程上次暂停的位置继续执行。线程有自己的 pid,tgid 就是进程的主线程的 pid,group_leader 指向的就是进程的主线程。
2025-05-25 22:05:17
1803
原创 第三次上机作业
题目 1、类的定义与基本操作class Fraction {//数据成员,访问控制属性默认是私有int m_numerator = 0; // 分子默认为0; C++11int m_denominator = 1; //分母默认为1;public://公有成员函数Fraction(int above = 0, int below = 1) :m_numerator(above), m_denominator(below) {cout << "Constructor called"
2020-12-24 14:51:13
580
原创 第二次上机作业(2020.12.5)
题目一已知一个矩阵,存储在一个二维数组中。将矩阵中和值为最大的那一行元素与首行对换。思路:先定义short类型smax并取最小值,对矩阵中每一行求和,将第一行的和值赋给smax,再对后面每一行求和,比较得出最大值,并得出最大值的行数row。最后利用for循环将和值最大的一行的每个元素与第一行互换。代码如下#include<iostream>using namespace std;int main() { short arr[5][5], s, smax = -32768, row
2020-12-11 11:38:03
590
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅