![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux系统编程
文章平均质量分 84
勤奋的懒羊羊~
少年有梦,不应止于心动
展开
-
进程状态和优先级(进程第2篇)【Linux复习篇】
正在调度的队列的时间片都跑完后,就跑另一个队列里的进程,两个队列交替。怎么高效地判断每个子队列是否为空?利用位图,用比特位的0/1表示子队列是否为空,这样就可以用近O(1)的时间复杂度来进行进程调度,这种调度算法就叫Linux内核2.6的O(1)调度算法。并行:多个进程在多个CPU下分别同时进行运行(不如说两个单核CPU会有两个运行队列,意味着在同一时刻一定会有两个进程在同时运行,这就是并行)并发:多个进程在一个CPU上采用进程切换的方式,在一段时间内,让多个进程得以推进,称为并发。原创 2024-04-24 15:30:56 · 857 阅读 · 0 评论 -
进程概念(进程第1篇)【Linux复习篇】
操作系统是一款进行管理软件和硬件的的软件。为什么要有OS:通过管理好底层软硬件资源,为用户提供一个良好的执行环境。系统为了保证自己的数据安全,所有访问OS的行为,都只能通过系统调用来完成,系统调用就是操作系统给用户提供的操作自己的函数。硬件->驱动程序->操作系统->系统调用接口->用户操作接口(如C语言的printf)->用户父子进程代码和数据共享,他们还具有独立性吗?代码是只读的,父子进程都不能修改。原创 2024-04-23 20:32:59 · 926 阅读 · 0 评论 -
文件fd【Linux系统编程】
本节重点讲解文件fd,其余内容将在后面的博客更新。原创 2023-11-30 11:06:00 · 154 阅读 · 0 评论 -
进程【Linux系统编程】
存储器:内存(硬盘是外存)输入设备:鼠标、键盘、摄像头、话筒、磁盘、网卡……输出设备:显示器、播放器硬件、磁盘、网卡……输入输出设备是外部设备,简称外设。中央处理器(CPU):运算器:对我们的数据进行计算任务(算数运算、逻辑运算)控制器:对我们的计算硬件流程进行一定的控制。以上每一个部分都是独立的个体,也就是说,各个硬件单元必须用“线”链接起来。“线”分两类:1、系统总线(CPU和内存之间) 2、IO总线(内存和外设之间)不考虑缓存的情况,CPU只能对内存进行读写,不能访问外设。原创 2023-10-21 09:58:02 · 151 阅读 · 0 评论 -
Linux小程序——进度条【Linux系统编程】
回车换行:回车(\r)是回到当前光标所在行的最开始,换行(\n)是换到下一行,回车换行就是到下一行的最开始。原创 2023-07-19 14:22:15 · 372 阅读 · 0 评论 -
make/Makefile【Linux系统编程】
make是一个命令工具,是一个解释makefile中指令的命令工具,一般来说,大多数的IDE都有这个命令,比如:Delphi的make,Visual C++的nmake,Linux下GNU的make。一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作。被编译过的文件,如果代码没有更新,是无法再make的。.exe新于.c ,源文件是老的,不需要编译。原创 2023-07-15 16:44:10 · 234 阅读 · 0 评论 -
gcc/g++ 动静态库(略讲)gdb调试器【Linux系统编程】
库文件其实就是源文件经过一定的翻译+打包——不用给你提供太多的源文件,也可以达到隐藏源文件的目的。如果没有动态库,只有静态库,这时就算没有-static,也是可以进行静态链接的。头文件提供方法的声明,库文件提供方法的实现+你的代码 = 你的软件。如果没有静态库,又带 -static,是无法进行静态链接的;:告诉gcc,现在开始进行程序的翻译,当做完。:告诉gcc,现在开始进行程序的翻译,当做完。所以, -static的本质是改变优先级。:告诉gcc,现在开始进行程序的翻译,当。gcc默认优先动态链接。原创 2023-07-05 16:24:03 · 236 阅读 · 0 评论 -
yum和vim【Linux操作系统】
(下载到程序的源代码,进行编译,得到可执行程序,太麻烦,因此有些人会将有些常用的软件提前编写好,做成软件包)(安装各个软件包,各个包之间有依赖关系)(yum是软件包管理器。软件包和软件包管理器,就好比“App和应用商店”,解决安装源、安装版本、安装依赖问题)用于Windows机器和远端的Linux服务器通过Xshell进行文件传输文件。安装完毕后可以通过拖拽的方式将文件上传过去。关于yum的所有操作必须保证主机(虚拟机)网络通畅。ping www.baidu.com可验证。原创 2023-06-03 14:36:52 · 708 阅读 · 1 评论 -
Linux基本指令(下)【Linux系统编程】
在Windows中,我们操作Windows表示直接操作Windows内核,而是通过图形接口,点击,从而完成我们的操作。注意:如果我们是adduser新建的用户,没有颁发执行的sudo,系统不信任你,将普通用户添加到系统信任白名单里面。如第一行rwx为一组(代表拥有者权限),rwx为一组(所属组权限),r-x为一组(其他组权限):查看日历等信息,如只有一个参数,则表示年份(1-9999),如果有两个参数,则表示月份和年份。普通用户自己的家目录权限是700,我在我的家目录创建的文件,别人看不到。原创 2023-05-20 14:35:34 · 1030 阅读 · 0 评论 -
Linux基本指令(上)【Linux系统编程】
指令本质上就是可执行程序,和我们自己写的代码编译好的程序没有本质区别。指令是在系统中特定的路径下存在的,一定是某种可执行程序。原创 2023-05-05 15:11:13 · 3378 阅读 · 1 评论