- 博客(14)
- 收藏
- 关注
原创 编译原理——gcc学习中的一次错误
Q:以下例子能否编译成可执行程序?test.h:#ifndef __TEST_H__#define __TEST_H__int add(int a, int b){ return a + b;}int test01(int a, int b);#endiftest.c:#include "test.h"int test01(int a, int b){ return add(a, b);}main.c:#include "test.h"int
2022-01-11 22:12:54 349
原创 openEuler实验之A-Tune智能调优
1 A-Tune介绍A-Tune是一款基于AI开发的系统性能优化引擎,它利用人工智能技术,对业务场景建立精准的系统画像,感知并推理出业务特征,进而做出智能决策,匹配并推荐最佳的系统参数配置组合,使业务处于最佳运行状态。1.1 A-Tune核心技术架构:1.2 支持特性与业务模型支持特性: 七大类11款应用负载类型自动优化 自定义负载类型和业务模型 参数自调优 A-Tune支持的业务模型包括https应用、大数据、计算密集型应用、网络密集型应用、内存密集型
2021-12-30 21:07:38 6133 1
原创 实验九、内核虚拟化
1、搭建openEuler-aarch64系统的qemu虚拟机1.1 安装虚拟化组件dnf install -y libvirt qemu1.2验证是否安装成功安装成功。1.3查看libvird是否已启动启动成功。1.4查看虚拟网络配置虚拟网络IP地址:192.168.122.1 子网掩码:255.255.255.0 广播地址:192.168.122.255 安装虚拟机引导固件过程出错,分析原因,依然是yun源配置问题。于是使用代金券..
2021-12-28 19:55:51 994
原创 实验八、网络管理
1、编写基于socket的udp发送接收程序本次实验与计算机网络实验课程内容有重叠,因为之前做过windows下的socket编程,掌握了代码思路,所以本次实验的代码也相对比较容易理解。TCP/IP协议族:UDP协议:client.c:#include <stdio.h>#include <string.h>#include <sys/socket.h>#include <arpa/inet.h>#include <
2021-12-28 19:47:07 2116
原创 OpenEuler实验
实验一、openEuler操作系统安装与内核编译实验二、内存管理实验三、进程管理实验四、中断和异常管理实验五、内核时间管理实验六、设备管理实验七、文件系统参考:Quick Start (openeuler.org)华为云-提供云计算服务 +智能,见未来-华为云 (huaweicloud.com)OpenEuler_实验 (gitee.com)...
2021-12-28 18:16:06 4777 1
原创 实验七、文件系统
1、为 Ext4 文件系统添加扩展属性扩展属性分为以下四种:(1)扩展的安全属性-- security安全属性名称空间被内核用于安全模块,例如SELinux。对安全属性的读和写权限依赖于策略的设定。这策略是由安全模块载入的。如果没有载入安全模块,所有的进程都对安全属性有读权限,写权限只有那些有CAP_SYS_ADMIN(允许执行系统管理任务,如加载或卸载文件系统、设置磁盘配额等)的进程才有。(2)扩展的系统属性-- system扩展的系统属性被内核用来存储系统对象,比如说ACL。对系统属
2021-12-28 18:03:54 4111 1
原创 实验六、设备管理
1、编写USB设备驱动程序usb_detect.c:/* * USB Detect driver * * This driver is based on the 2.6.3 version of drivers/usb/usb-skeleton.c */#include <linux/kernel.h>#include <linux/errno.h>#include <linux/slab.h>#include <linux/modul
2021-12-28 17:59:31 2311
原创 实验五、内核时间管理
1、调用内核时钟接口打印当前时间该内核程序调用了timeval、do_gettimeofday、rtc_time、rtc_time_to_tm四个结构体,都是比较简单的用法。current_time.c:#include <linux/module.h>#include <linux/time.h>#include <linux/rtc.h>MODULE_LICENSE("GPL");struct timeval tv;struct rtc
2021-12-28 17:54:25 2712 3
原创 实验四、中断和异常管理
1、使用tasklet实现打印helloworldtasklet是linux中断处理机制中的软中断延迟机制。引入tasklet,最主要的是考虑支持SMP(多处理,Symmetrical Multi-Processing),提高SMP多个cpu的利用率;不同的tasklet可以在不同的cpu上运行。tasklet可以理解为softirq(软中断)的派生,所以它的调度时机和软中断一样。对于内核中需要延迟执行的多数任务都可以用tasklet来完成,由于同类tasklet本身已经进行了同步保护,所以使用task
2021-12-28 17:51:36 2254 1
原创 实验三、进程管理
1、创建并运行内核线程kthread.c:#include <linux/kthread.h>#include <linux/module.h>#include <linux/delay.h>MODULE_LICENSE("GPL");#define BUF_SIZE 20static struct task_struct *myThread = NULL;static int print(void *data){ whil
2021-12-28 17:47:34 3618 1
原创 实验二、内存管理
1、使用 kmalloc 分配 1KB,8KB的内存,并打印指针地址kmalloc.c:#include <linux/module.h>#include <linux/slab.h>MODULE_LICENSE("GPL");unsigned char *kmallocmem1;unsigned char *kmallocmem2;static int __init mem_module_init(void){ printk("Start
2021-12-28 17:33:21 4309
原创 实验一、openEuler操作系统安装与内核编译
1、操作系统安装1.1 下载OpenEular镜像1.2 安装到VM VirtualBox虚拟机该步骤遇到很多问题。最开始在OS实验成长故事平台下载了openeuler21.09:并使用VMware安装虚拟机,但是安装完成进入后无法连接网络,使用ping命令无法ping通,初步分析原因,应该是yum源没有配置好,于是去配置yum源,但在配置好安装源、安装好必要工具、调整虚拟机参数(主要是网络转换方式)安装很多次依然无法连接网络。随后改用官网下载的openeuler20.0..
2021-12-28 17:24:06 16472 2
原创 Mysql将大量数据快速导入数据表
例如在如下表中插入10W条数据:第一种方法:在Mysql Workbench中用.csv文件导入10W条数据(相当于insert语句):十分钟后:第二种方法:(快速)先查看local_infile状态:show global variables like 'local_infile';如果为OFF,则使用load data会报错。修改方法:set global local_infile=1;然后执行如下语句:load data local i..
2021-10-21 15:07:59 2935
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人