- 博客(12)
- 收藏
- 关注
原创 基础IO(三)—— 文件系统/硬链接和软链接
在前两篇文件和中讲解的文件都是打开的未见,但是大部分文件都是没有被打开的(当前并不需要被访问),都在磁盘中保存。那么我们也需要对没有被进程打开的文件进行管理,快速定位到文件。所以文件的管理工作有下面两个这些都需要文件系统的介入。
2024-07-24 21:13:09 1003 1
原创 基础IO(二)—— 缓冲区的理解/模拟实现C标准库文件操作函数
定义:文件缓冲区是内存空间的一部分,用于在数据实际写入磁盘或从磁盘读取之前,作为临时存储的中介。功能提高性能:通过减少磁盘I/O操作的次数,文件缓冲区能够显著提高数据读写操作的性能。优化资源利用:合理利用内存资源,避免频繁的直接磁盘访问,降低系统开销。数据缓存:存储最近访问或即将访问的数据,以便快速响应后续请求。为了更深刻的理解缓冲区的功能下面举个例子。
2024-07-19 19:59:24 600
原创 基础IO(一)—— C语言文件操作接口/文件操作相关系统调用/文件标识符fd/file_struct/重定向
重定向的本质,其实就是修改特定文件。
2024-07-18 21:00:11 791
原创 C++类和对象(上)--- 类,类的实例化,类的访问限定符,类的存储方式,this指针
/类体:由成员函数和成员变量组成 };class为定义类的关键字,ClassName为类的名字,{}中为类的主体,注意类定义结束时后面分号不能省略。类体中内容称为类的成员:类中的变量称为类的属性或成员变量;类中的函数称为类的方法或者成员函数。其中类的定义分为两种方式public://成员函数top = 0;int Top()private://成员变量int* a;int top;s1.Init();s1.Push(1);
2024-07-17 21:11:46 637
原创 Linux的调度与切换(包含进行优先级,基于O(1)的调度算法)
cpulinux存在进程优先级的前提是,进程要访问某种资源,进程通过一定的方式(排队),确定享受资源的先后顺序。存在优先级的本质还是资源过少,资源的多少永远都是一个相对的概念,在大部分的计算机上一般都只有一个CPU,一个磁盘。而当在计算机上可以同时启动好几个程序,就是好几个进程,所以在计算机中资源永远是少数的。所以存在优先级。权限决定的是能不能做这件事情,优先级决定的是谁先谁后的问题。
2024-05-27 15:05:15 968 1
原创 Linux权限(Linux用户,Liunx文件相关权限,Linux目录相关权限)
Linux操作系统下一般分为两类用户。第一类是 root–超级管理员第二类是 非root–普通用户首先使用下面命令创建出用户在使用下面命令给这个用户设置密码passwd 用户名但是在不同的环境下可能存在差异,上图是在Ubuntu下创建新用户,不需要输入passwd指令,直接就可以创建并输入密码。使用下面命令将用户删除su -本质是以root身份重新登陆一次或者使用su本质是用户身份切换成为root然后输入超级用户的密码就可以转换成超级用户。原本登录时是普通用户原本登录时是超级用户su 用户名。
2024-05-20 17:39:08 684 2
原创 详解Linux进程状态(进程排队,运行状态,睡眠状态,停止状态,僵尸状态,孤儿进程)
这种状态一般无法看见,因为当这种状态被看见了,就说明IO请求无法被立即完成了,此时的操作系统已经负载了,随时可能出现崩溃。磁盘休眠状态也是一种阻塞状态!!!
2024-05-15 19:17:44 1714 3
原创 通过系统调用创建进程 —— fork详解
我们平时在创建进程的时候,都是在程序存在的情况下,./程序名称,启动程序的时候就将程序变成了进程。操作系统会将你的可执行程序先加载到内存当中,操作系统会给对应的程序创建PCB。有没有一种办法能够通过代码来创建进程呢,我们在linux中运用fork系统调用来创建进程。在已存在的进程中创建一个进程在文章的下面将会详细讲解fork的用法和返回值的含义。
2024-05-14 15:20:12 854 1
原创 进程概念详解(从冯诺依曼体系结构、操作系统到进程概念的提出)
在了解进程之前首先我们要先了解在硬件上的重要的体系结构—冯诺依曼体系结构我将从下面这个图中的5个主要部件进行讲解计算机中执行各种算术和逻辑运算操作的部件。运算器的基本操作包括加、减、乘、除四则运算,与、或、非、异或等逻辑操作,以及移位、比较和传送等操作,亦称算术逻辑部件(ALU);程序计数器、指令寄存器、指令译码器、时序产生器和操作控制器组成,它是发布命令的“决策机构”,即完成协调和指挥整个计算机系统的操作。运算器和控制器统称中央处理器,也叫做CPU。中央处理器是电脑的心脏;存储器分为内存和外存。
2024-05-12 20:19:09 725 3
原创 C++中const关键字的使用详解
const修饰的引用d是c的别名,对于d来说,由于d是由const修饰的,所以d无法对c中的内容进行修改,这是允许的,是权限的缩小。对于const 修饰的a来说 ,a已经被const修饰了,那么对于b来说b是a的别名,那么b可以修改a中的内容,但是a被const进行了修饰,说明int &b = a把 a权限进行了放大是不被允许的。const是C和C++中一个十分重要的关键字,它在变量,函数,类,引用,指针中的有着十分重要的作用,本文将详细介绍const关键字在C++中的作用。
2024-03-20 19:07:07 1094
原创 详解C语言const关键字(说明+案例)
通过上述的学习我们就可以看懂strcpy函数源码中的const char* src 是什么意思了,至于为什么要用const关键字修饰,我们要理解strcpy函数的作用,strcpy作用是将一个数组中内容拷贝到另一个数组中,那么src也就是source(源头)的缩写,也就是数据源,我们在拷贝时是不希望数据源被修改的所以在 要用const关键字修饰 *src。在c语言的很多库函数中形参中都是用到了const关键字例如strlen函数,源码如下。++ length;可见const关键字的作用之大!
2023-09-03 16:26:31 335 4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人