- 博客(78)
- 收藏
- 关注
原创 Linux·进程信号
本节从信号的产生,信号的保存,信号的捕捉三个方面解析了信号在造作系统中的结构,以及用户层面的使用。通过信号我们讲解了中断是什么,操作系统是怎么借助中断运行起来的,以及虚拟地址空间的内核区和用户区的区别
2024-11-13 14:10:13 771
原创 Linux·进程控制(system V)
本节讲解了system V标准下的三种IPC进程间通讯方案,共享内存、消息队列、信号量,主要是体验一下标准的效果,还了解一下设计这三种IPC方案的OS层面原理,如何用C写出C++中的多态,非常巧妙
2024-11-03 14:45:46 1326
原创 Linux·进程间通讯(管道)
本节讲解匿名管道的原理并模拟父进程与多个子进程通过匿名管道通讯,以及命名管道的使用mkfifo原理,并写了两个普通进程通过命名管道通讯的模拟。
2024-10-31 14:48:46 723
原创 Linux·动静态库
本节讲解软硬链接是什么怎么自己创建软硬连接,动静态库是什么怎么自己创建。可执行程序的ELF格式是什么,CPU是怎么执行一个可执行程序的,虚拟地址空间中的字段是怎么初始化的结构是什么样的,动态库是怎么链接的,为什么能做到与位置无关
2024-10-24 20:34:33 845
原创 Linux·文件与IO
本节讲解了5个系统级文件操作函数,从系统层面解释了一切皆文件是如何通过文件描述符表和虚拟文件系统实现的,数据在外设和内存中是如何通过用户级缓冲区和文件内核级缓冲区在磁盘和内存之间IO的,以及输入输出重定向在系统层面实现的原理,代码中如何进行重定向
2024-10-18 20:12:16 1031
原创 Linux·进程控制
本节讲解进程终止、进程等待、进程替换的做法和意义,最后我们手搓了一个简易的shell外壳帮助更好的理解进程控制的作用,main函数参数,环境变量,内建命令的作用
2024-10-14 10:14:47 1148 1
原创 Linux·环境变量与进程地址空间
本节讲解了环境变量、本地变量是什么有什么用,和进程地址空间是什么,解析了进程、虚拟地址空间、页表、真实物理空间之间的关系
2024-10-04 17:43:50 1001
原创 Linux·进程概念(下)
本节讲解了进程优先级PRI和nice值是什么,如何修改进程优先级;进程切换的原理ir寄存器pc指针和eip寄存器是什么,什么是进程的上下文数据;Linux中真实的进程调度算法是怎样的,真的是一根链表穿起来轮转吗;Linux中的数据结构是如何实现同一块结构体在不调整对应成员变量类型时能用完全不同的数据结构组织起来的
2024-10-02 19:32:11 1125 1
原创 Linux·进程概念(上)
本节简单讲解了操作系统的任务和管理内核"先描述在组织",然后将进程在操作系统中是如何被控制着运行的过程梳理了一下,之后针对进程的标识符属性和状态属性进行详细讲解,同时使用了查看进程属性和建立进程的一些命令和系统调用接口
2024-09-25 17:15:57 1371
原创 Linux·权限与工具-yum与vim
本节讲解了软件包管理器yum的原理和使用,以及yum源的替换方法。vim编辑器的用法各种命令集,同时提供了一份vim配置的方案。最后讲解了gcc/g++编译器的使用,加深对编译器的编译过程的理解,同时讲解了链接过程的原理,静态库和动态库的区别。
2024-08-14 10:27:15 932
原创 C++·二叉树进阶
本节讲解了二叉搜索树的概念,并手动实现了K模型和KV模型的二叉搜索树的层序、搜索、插入、删除功能,简单分析了下它的性能,下节我们将讲解K模型容器set和KV模型容器map
2024-07-19 14:35:24 764
原创 Linux·权限与工具(上)
本节讲解了,shell操作系统的外壳程序是什么,Linux中怎么设置删除用户,文件和目录的权限属性:读写可执行,拥有者拥有组其他人,以及如何修改这些参数,umask权限掩码是什么,粘滞位t是什么权限
2024-07-17 16:31:43 815
原创 Linux·基本指令(下)
本节讲解了剩余的一些指令,有mv、cat、重定向的> >> < 、less按页查看、head tail 管道| 、date、cal日历、find、which、alias指令别名、zip unzip tar压缩解压、sz rz操作系统间传文件、bc计算器、uname -r/-a 查询机器相关参数、shutdown
2024-07-16 12:51:56 991
原创 C++·多态
本节讲解了多态的概念和实现方法,即虚函数重写和传父类引用或指针调用。析构函数重写的注意事项即原理。两个检查用关键字override和final。抽象类的概念即作用,并用一道很有意思的立体讲解了接口继承和实现继承。最后讲解了多态实现的原理,有助于大家更深层次的理解多态。
2024-07-14 13:00:52 985
原创 C++·继承
本节详解了继承这一概念,介绍了继承的定义如何用代码写出继承逻辑,继承后父类成员访问方式的变化,继承中的赋值兼容转换问题,继承时子类的默认构造函数的手写方法,继承时友元与静态成员的状态,多继承与菱形继承的数据冗余和二义性的问题与解决办法
2024-07-11 13:52:13 1024
原创 C++·模板进阶
本节讲解了更多的模板使用方法,重点在于模板参数,包括非类型模板参数的使用,类模板的全特化和偏特化,最后解释了一下模板不能声明和定义分离的问题
2024-07-09 20:54:34 680
原创 C++·栈和队列
本节讲解了C++中栈和队列的应用以及底层逻辑,容器适配器的概念,deque双端队列的概念和原理。最后重点讲解了优先级队列priority_queue的概念和实现,这东西就相当于堆容器,同时讲解了仿函数的基本概念
2024-07-08 20:56:23 805
原创 C++语言·list链表
本节讲解了list链表容器的诸多接口,值得注意的是链表已经不支持方括号访问了,但是别的接口还是基本相似的,最后还有一些链表自己的特殊操作接口
2024-05-26 16:15:35 963
原创 C++语言·vector顺序表(下)
本节实现了一个vector类,期间初次自己实现了迭代器并对迭代器的操作有更深的了解,学习了find函数,并对深拷贝有更深入的接触,最后学习了C++11中的initializer_list类,并基于这个类写了相应构造函数,对于模板也有了更深入的使用和了解
2024-05-22 00:15:12 894
原创 C++语言·string类(下)
本节手动实现了一个简陋的string类,以及其中的部分实用接口,比较有意思的是拷贝构造和赋值运算符重载的两个现代写法的思维,采用交换的方案减少了很多代码量。
2024-05-17 17:26:03 692
原创 Linux·基本指令
本节讲解了 ls pwd cd touch mkdir rm man cp nano九项基本指令,并涉及了 cat gcc tree 三个指令,下节将讲解更多基本指令
2024-05-11 14:27:16 977 1
原创 C++语言·内存管理
本节内容较为简单,讲解了C++中的内存管方案,用 new-delete 代替了malloc-free ,同时还讲解了new-delete的一些底层实现
2024-04-21 22:29:27 705
原创 C++语言·类和对象
本节详细介绍了C++中类的各个概念,包括定义、用法、this指针、类的6个默认成员函数中的各种重载方、const成员函数、最后实现了一个较为完善的日期类,其中覆盖了本节绝大多数知识点
2024-04-17 19:05:35 1215 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人