自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(93)
  • 收藏
  • 关注

原创 秒懂:父子进程与bash(命令行参数)的关系

结果:可以看到:注意❗:系统指令程序和自己程序启动运行都是一样,并没有任何差别。

2024-09-14 10:03:28 306

原创 每日一练:游游的u

【代码】每日一练:游游的u。

2024-09-14 10:03:02 237

原创 每日一练12:杨辉三角(含链接)

【代码】每日一练12:杨辉三角(含链接)

2024-09-13 08:35:38 168

原创 秒懂:环境变量

回答:在Linux当中,存在一些全局变量的设置(环境变量),告诉命令行解释器(bash进程),应该去那些路径底下去寻找这些可执行程序。☞综下:ls不用带路径,因为ls所在的路径在环境变量当中。

2024-09-13 08:25:37 830

原创 秒懂:命令行参数

这里的第一个参数代表的就是命令。

2024-09-12 08:37:16 523

原创 每日一练11:单词搜索(含链接)

【代码】每日一练11:单词搜索(含链接)

2024-09-12 08:36:16 223

原创 秒懂:进程上下文切换

由进程的程序块、数据块、运行时的堆和用户栈(两者通称为用户堆栈)等组成的用户空间信息被称为用户级上下文。由进程标识信息、进程现场信息、进程控制信息和系统内核栈等组成的内核空间信息被称为系统级上下文。处理器中各寄存器的内容被称为寄存器上下文(也称硬件上下文),即进程的现场信息。

2024-09-11 08:18:07 572

原创 每日一练10:Fib数列

【代码】每日一练10:Fib数列。

2024-09-11 08:17:02 125

原创 每日一练9:除2!

【代码】每日一练9:除2!

2024-09-10 20:06:20 370

原创 秒懂:进程切换——O(1)调度算法

上面这张图展示的就是Linux内核中的调度队列示意图,那么具体是如何进行队列调度的呢?首先,图中有两个queue[140],这个就是所谓的队列结构,(蓝色和红色扩出来的)其中有一个就是所谓的运行队列,也就是直接向CPU上进行调度的结构。

2024-09-10 20:05:59 1048

原创 每日一练8:dd爱框框(含链接)

【代码】每日一练8:dd爱框框(含链接)

2024-09-09 08:31:27 436

原创 秒懂:进程相关的操作

1. 运行test.cc文件 并将其最终的可执行文件命名为 test常见的pspsps -ajxps -ajx。

2024-09-09 08:30:32 753

原创 每日一练7:简写单词(含链接)

string中的空格是被当做结束标志,不能判断。

2024-09-08 17:55:48 313

原创 秒懂:进程优先级

简单来说,进程优先级是对于资源访问顺序来说的,谁先访问资源,谁的优先级就高。这和权限概念不一样,权限是能不能访问。

2024-09-08 17:55:31 326

原创 每日一练6:数组中两个字符串的最小距离(含链接)

这个有的用例过不去?不知道哪里有问题,求大神看看。思路的话就是更新两个prev,比较ret值。

2024-09-07 08:46:41 202

原创 秒懂:进程状态

当一个进程被创建时,它处于创建状态。在这个阶段,操作系统为进程分配必要的资源(将代码和数据拷贝到内存,创建PCB结构体等),并为其分配一个唯一的进程标识符(PID)。进程就绪状态是指进程已经满足了运行的条件,进程PCB被调度到CPU运行队列中,排队等待系统分配CPU资源来执行的状态。进程PCB被调度到CPU运行队列中且已被分配CPU资源,就叫做运行态。在这个阶段,进程的指令会被执行,它可以访问CPU和其他系统资源。只有运行状态下的进程才能占用CPU资源。

2024-09-07 08:46:24 806

原创 每日一练5:最小花费爬楼梯(含链接)

【代码】每日一练5:最小花费爬楼梯(含链接)

2024-09-06 08:16:09 125

原创 秒懂:父子进程

这样做可以节省内存,并提高效率。在Unix/Linux系统中,可以使用 getpid() 系统调用来获取当前进程的PID,使用 getppid() 系统调用来获取当前进程的父进程的PID。在子进程中,fork 也会返回一个值,但是返回的是 0,子进程是通过复制父进程的地址空间而创建的,因此子进程从父进程继承了大部分的内存布局和数据。:在父进程中,fork 返回新创建子进程的进程 ID(PID),这个 PID 是子进程的标识符,该系统调用返回调用进程的父进程的PID,即当前进程的父进程的PID。

2024-09-06 08:15:21 1377

原创 网络10:关于http协议的requset 和 repose的结构

request 报文的结构主要包括三部分:请求行、请求报头、请求正文。

2024-09-05 07:59:13 562

原创 每日一练4:牛牛的快递(含链接)

或者使用ceil()函数, 也可以达到向上取整的效果。

2024-09-05 07:57:57 271

原创 每日一练3:点击消除(含链接)

栈的特点让去数据的时候是逆向的,用string可以简化代码。

2024-09-04 08:23:31 405

原创 秒懂:进程(概念初晓)

课本概念:程序的一个执行实例,正在执行的程序等内核观点:担当分配系统资源(CPU时间,内存)的实体。作者理解:进程不止包括程序加载到内存的数据,还包括该进程的属性,它的这个属性,操作系统用一个结构体 PCB来封装,在linux中进程的属性统一叫做。所以程序是存储在外存中,进程PCB是在内存中的, 程序是“静”的从程序到进程是一个“动”的过程。

2024-09-04 08:22:53 347

原创 秒懂:冯诺依曼

冯诺依曼体系结构包括以下几个关键组成部分:存储器(Memory):冯诺依曼体系结构中的存储器用于存储指令和数据。这里的存储器通常指的是内存,包括随机存储器(RAM)和只读存储器(ROM)。存储器中的数据可以根据地址进行读取和写入操作。中央处理器(CPU):CPU是计算机的核心部件,负责执行指令并处理数据。CPU包括运算器(Arithmetic Logic Unit,ALU)和控制器(Control Unit)。运算器执行算术和逻辑运算,而控制器负责指挥数据的流动和执行指令的顺序。

2024-09-03 08:53:51 1201

原创 每日一练2:两个数组的交集(含链接)

【代码】每日一练2:两个数组的交集(含链接)

2024-09-03 08:52:25 213

原创 每日一练1:数字统计(含链接)

【代码】每日一练1:数字统计(含链接)

2024-09-02 09:02:56 191

原创 秒懂:操作系统、系统调用及库函数

任何计算机系统都包含一个基本的程序集合,称为操作系统(OS)。

2024-09-02 09:01:59 408

原创 vim编辑器的优势

用户可以根据自己的喜好和需求,通过修改配置文件(如.vimrc文件)来自定义Vim的行为和外观,包括设置语法高亮、行号显示、自动缩进等。此外,Vim还拥有丰富的插件系统,用户可以通过安装和配置各种插件来扩展Vim的功能,如代码补全、语法检查、文件浏览等。Vim集成了丰富的文本编辑功能,如强大的搜索和替换功能(支持正则表达式)、宏录制与回放、多光标编辑等。综上所述,Vim以其高效的操作模式、高度的可定制性、丰富的功能、跨平台支持以及活跃的社区支持等优势,赢得了广大程序员的喜爱和推崇。

2024-08-09 10:14:57 346

原创 网络9:http协议中url中的解码和解码

因为在域名中,有些字符具有特殊的意义,例如‘/’,假如你要搜索的数据中含有‘/’,BS(浏览器和服务器)会将其进行替换,这个过程叫做编码当我们使用解码后的域名进行搜索,这个过程叫做解码。

2024-08-09 10:06:41 480

原创 网络8-- 序列化 和 反序列化

这个信息(报文)包括 发送时间,发送内容,什么人发送的,当A一次发送多条数据,B是如何选择区分并且接受的呢?那么这些信息是怎样发送的,一个个发送,还是全部发送呢?序列化和反序列化的作用也是为了更加方便进行网络收发。这三条信息在实际中会组成一个结构体!用户A在什么时候,发送了“哈哈哈”:多个字符串转化为一个字符串的过程。:多个字符串转化为一个字符串的过程。将数据从自己的发送缓冲区传输到。在应用层,这两个结构体叫做。稍加思考,我们就知道,

2024-08-08 14:02:52 735

原创 http协议中域名的理解

在http协议中,我们访问网页时,不会直接使用ip地址,而是用域名来代替。在https协议中,默认的端口号是。在http协议中,默认的端口号是。(ip+端口号‘默认的’

2024-08-08 14:02:34 681

原创 “tcp控制协议”的理解

在用户进行网络间通信时,不管是客户端还是服务端,都会有两个缓冲区——发送缓冲区和接受缓冲区。用户通过write()将数据发送到他的发送缓冲区中,再传输到服务端的接受缓冲区中。(tcp控制协议)决定-->>那么tcp控制协议闪亮登场!通过4个缓冲区进行数据交流。

2024-08-07 14:04:54 740

原创 “write()” 与 “ tcp缓冲区 ” 之间的关系

有没有拷贝成功,都不由write()决定,由tcp控制协议来控制!write()将该文本写入到tcp缓冲区中本质是。,当write()调用完,数据不一定发给。所以write() 这些不叫做。,只是用来将数据拷贝到缓冲区中。

2024-08-07 13:54:16 511

原创 网络7—tcp_socket

父进程fork(),在子进程中再 fork(), < 0 是孙子进程 ,将子进程退出。父进程直接等待,继续链接, 孙子进程怎是提供服务。因为tcp面向字节流的,所以可以用write(),read()这些面向字节流的操作。父进程和孙子进程就可以并发访问了,原理是让子进程退出,父进程直接等待完毕。tcp是面向字节流传输的,也是需要绑定的套接字的,孙子进程不用管,他会被系统领养,会被回收。创建routine()函数实现多线程模式。1.2.3.3 线程池模式。这是一个单进程版本,

2024-08-06 10:36:08 691

原创 互斥锁代码心得

创建一个临时对象,生命周期是在一次循环中,生命周期结束时,自动调用析构函数,不用创建不用初始化,不用加锁或者解锁。用花括号把sleep放出临界区。

2024-08-06 10:35:19 207

原创 linux下的线程

linux下没有线程的概念,只有轻量级进程的概念,

2024-08-03 16:53:15 353

原创 npos解析

npos是一个常数,表示size_t的最大值(Maximum value for size_t)。许多容器都提供这个东西,用来表示不存在的位置可见他们是相等的,也就是说npos表示size_t的最大值npos可以表示string的结束位子,是string::type_size 类型的,也就是find()返回的类型。find函数在找不到指定值得情况下会返回string::npos。

2024-08-03 16:48:38 328

原创 关于inet_addr()中的参数不能是 &sring类型的 只能是 string类型变量.c_str()

inet_addr中的参数是类型的定义一个string类型的ip使用这个inet_addr()接口为什么参数为&ip会报错呢??因为 &ip 得到的是一串地址。

2024-08-02 19:05:58 266

原创 c_str()

函数可以c_str()就是将C++的string转化为C的c_str()生成一个const char *指针,指向字符串的首地址因为在c语言中没有string类型,必须通过string类对象的成员函数 c_str() 把 string 转换成c中的字符串样式。

2024-08-02 19:05:09 293

原创 网络6 -- udp_socket 实现 echo服务器

使用 func() 函数回调,从main()函数中获取数据。创建套接字时,我们要将字符型的port和ip转化为网络序列。

2024-08-01 08:43:46 1525

原创 popen()

指令。

2024-08-01 08:42:12 239

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除