- 博客(10)
- 资源 (1)
- 收藏
- 关注
原创 总线技术认识
总线总线是连接主机与外设的通信线路(导线)。按传送的比特数可以分为串行总线和并行总线。并行总线:同时刻可以传送多个bit位。串行总线:同时刻可以传送1个bit位。UART总线Universal Asynchronous Receiver Transmitter 通用异步接收发送器。帧格式1)空闲时,总线处于高电平;2)起始位低电平,结束位是高电平,每次只能传送一个字节(位宽是5~8位,可配置);3)...
2020-10-30 16:05:52
285
原创 段页式地址映射过程(直观)
1. 段式虚拟内存把程序内存空间按照逻辑意义划分为多个段,每段有段名,段的长度不定(如:代码段、数据段、堆栈段)。程序内存空间堆栈段数据段代码段哪如何表示段式内存空间的一个地址呢?虚拟地址(VA) = 段基地址(BA) + 段内偏移量(S)在32位linux系统中,每个进程独占4G的虚拟内存空间,每个进程的内存空间都是独立的,进程是隔离的。而进程需要运行在物理内存上,但物理内存有限,无法为每个进程都分配4G的物理内存空间。为了解决该问题,需要将进程的虚拟内存按需
2020-10-21 17:19:22
4253
原创 操作系统学习笔记
进程通信1、管道管道是一种单项传送数据的通道。两个进程如果要进行双向通信,需要创建两个管道,一个负责写(读),一个负责读(写)。2、信号信号是向进程发送的一个通知,当进程收到通知后,进行相应的处理。1)向进程pid发送信号sig:int kill(pid_t pid, int sig);2)注册信号处理函数:typedef void (*sighandler_t)(int); sighandler_t signal(int signum, sighandler_t han
2020-10-16 10:46:35
428
原创 二维数组动态申请分析
#include <stdio.h>int main(void){int i, j, idx = 0;int *p = NULL;int **arr = NULL;int arry[4][3] = {{1, 2, 3},{4, 5, 6},{7, 8, 9},{10, 11, 12}};arr = (int **)malloc(4* sizeof(int *));for (i = 0; i < 4; i++) { arr[i] = (int *)malloc(
2020-10-10 17:50:15
149
原创 linux 0.11源码(含注释)---无需积分
下载地址(提取码:6nsr):https://pan.baidu.com/s/1MA2nwYqZBsTB982wiKnFdg来源于:https://github.com/karottc/linux-0.11
2020-09-30 10:58:24
5780
9
转载 进程间通信的区别
来源于:https://mp.weixin.qq.com/s/TZJ0N8iDjU3dEoU6W1GctQ正文每个进程的用户地址空间都是独立的,一般而言是不能互相访问的,但内核空间是每个进程都共享的,所以进程之间要通信必须通过内核。Linux 内核提供了不少进程间通信的机制,我们来一起瞧瞧有哪些?管道如果你学过 Linux 命令,那你肯定很熟悉「|」这个竖线。$psauxf|grepmysql上面命令行里的「|」竖线就是一个管道,它的功能是将前一个命令(...
2020-09-25 12:06:32
445
原创 函数调用过程,数据段(栈帧)变化流程
int func2(int x, int y){int z = 0;z = x + y;return z;}void func1(void){int a = 1;int b = 2;int c;c = func2(a, b);printf("%d \n", c);return;}函数调用过程:push ebpmov ebp, espsub esp 0cchlea edi [edp-0cch]mov ecx 033hmov eax 0cccccccchrep
2020-09-23 18:15:13
262
原创 锁的认识
--------- 以下文章来源于微信小林coding,作者小林coding ---------正文多线程访问共享资源的时候,避免不了资源竞争而导致数据错乱的问题,所以我们通常为了解决这一问题,都会在访问共享资源之前加锁。最常用的就是互斥锁,当然还有很多种不同的锁,比如自旋锁、读写锁、乐观锁等,不同种类的锁自然适用于不同的场景。如果选择了错误的锁,那么在一些高并发的场景下,可能会降低系统的性能,这样用户体验就会非常差了。所以,为了选择合适的锁,我们不仅需要清楚知道加锁的成本开销有多.
2020-09-18 16:54:08
160
原创 进程信息,线程信息
典型进程信息:Process Management Memory Management File Management Registers Pointer to text segment Root directory Program counter Pointer to data segment Working directory Program status word Pointer to stack segment File descrip
2020-09-17 18:20:23
148
1
linux 0.11源码(中文注释版)-无需积分
2020-09-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人