
LINUX
craaazy
这个作者很懒,什么都没留下…
展开
-
linux 线程和进程的区别与联系::
进程::承担分配系统资源的基本实体线程::调度的基本单位,线程是进程里面的执行流(线程在进程的地址空间内运行)linux中没有真正意义上的线程!!!! 线程是用进程模拟的。。地址空间上: 线程没有自己独立的地址空间,共享进程的空间 但是进程包含独立的地址空间开销:进程之间的切换会有较大的开销,而线程比进程小线程是一个轻量级的进程,线程的通信比进程更加的方便,系统在运行的时候会给每个进程分配资源,而不会为线程分配资源,线程所使用的资源来自其所属的进程的资源还有一个问题::: 线程共享进原创 2022-04-15 19:53:30 · 367 阅读 · 0 评论 -
linux 信号产生 信号保存 信号处理
信号的产生方式四种:;1,通过终端摁键产生的信号2,调用系统函数产生的信号 ;例如signal() abort() kill()3,由软件链接产生的信号 alarm4 硬件异常产生的信号 CPU信号的保存通过位图的方式信号的处理:::实际执行信号的处理的动作称为信号递达信号从产生到递达之间的状态成为信号未决进程可以选择阻塞某个信号被阻塞的信号产生时将保持在未决状态,直到进程解除对此信号的阻塞,才执行递达的动作注意 递达和忽略是不同的 只要信号被阻塞就不会递达,原创 2022-04-14 19:42:08 · 572 阅读 · 0 评论 -
linux 只共享内存
共享内存分为四部分shmget shmat shmde shmctl共享内存区是最快的IPC形式。一旦这样的内存映射到共享它的进程的地址空间,这些进程间数据传递不再涉及到内核,换句话说是进程不再通过执行进入内核的系统调用来传递彼此的数据1 shmget()函数int shmget(key_t key,size_t sizie,int shmflg);key :这个共享内存段的名字 size_t size 共享内存的带下shmflg 一般是 IPC_CREATE|IPC_EXCL|06.原创 2022-04-13 22:52:43 · 170 阅读 · 0 评论 -
动态库 静态库 解析以及分别实现
静态库静态库 .a 程序在编译链接的时候把库的代码链接到可执行文件中。程序运行的时候将不再需要静态库。 生成的可执行程序是比较大的动态库.so 程序在运行的时候才去链接动态库的代码 多个程序共享使用库的代码生成一个静态库的步骤是 先写.h .c 文件 然后用.c文件生成.o 文件 gcc -c 就可以实现,如果.o文件过大,则可以使用一个归档工具ar -rc libmy.a .o .o .o rc 表示 replace and creat这里写了一个加法一个减法来模拟实现生成一个动态原创 2022-04-11 09:39:01 · 674 阅读 · 0 评论 -
cannot find -lc 出现这个问题怎么解决呢
如果是在自己写完静态库后 你发现在编译文件后报出cannot find -lc 的错误 你就安装一下这个就可以百分百解决啦sudo yum install glibc-static原创 2022-04-11 09:28:12 · 1878 阅读 · 2 评论 -
实现一个简易的xshell 能够完成输出重定向 追加重定向等
为了回顾fork waitpid open 和重定向 追加重定向等知识 实现一个简易版本的xshell 后续不断完善原创 2022-04-10 23:23:04 · 183 阅读 · 0 评论 -
Xshell 常用命令大全 自用
(1)命令ls——列出文件ls -la 给出当前目录下所有文件的一个长列表,包括以句点开头的“隐藏”文件ls a* 列出当前目录下以字母a开头的所有文件ls -l *.doc 给出当前目录下以.doc结尾的所有文件(2)命令cp——复制文件cp afile afile.bak 把文件复制为新文件afile.bakcp afile /home/bible/ 把文件afile从当前目录复制到/home/bible/目录下cp * /tmp 把当前目录下的所有未隐藏文件复制到/tmp/原创 2022-04-10 16:16:06 · 2279 阅读 · 0 评论 -
linux 文件描述 等。
系统调用接口:open("./mytest.tst", O_WRONLY|O_CREAT,0644)open函数的返回值 返回的是fd 文件描述符号 , linux 默认打开的文件描述符号是 0 1 2 他们分别是 stdin stdout stderr 他们对应的物理设备是键盘 显示器 显示器文件描述符的分配的规则是 找到当前没有被使用的最小的数组的一个下标;如果一个文件没有被打开 那么这个文件在哪里呢 在磁盘上 那么该文件要不要占用磁盘空间呢 必须占用,文件有属性 属性也是数据 磁盘文件原创 2022-04-09 23:07:00 · 364 阅读 · 0 评论 -
一 程序地址空间,二 进程等待 三 程序替换
一 进程地址空间:::就三个概念 一个是 页表 一个是 地址空间 一个是 物理内存我们在c 和c++ 里面打印出来的地址 就是虚拟地址在这里我们创建一个全局变量 global_val; 的值我们通过父子进程操作 改变 global_val 的值 我们发现 地址都是一样的 但是值是不一样的 ,那么这个地址是实际的物理内存吗? 答案是肯定不是的, 这个是进程地址空间 他们对应一个页表,然后再对应物理内存 我们再实际操作中 能直接访问物理内存吗 答案也是不可以的 我们是通过进程地址空间和.原创 2022-04-08 23:00:46 · 339 阅读 · 0 评论 -
linux 进程(二) 孤儿进程 优先级 环境变量
孤儿进程:: 父进程 退出 而子进程未退出 这时会造成孤儿进程优先级 PRI NI 优先级数PRI 是进程的优先级 通俗点说就是程序被CPU执行的先后顺序NI nice 的取值范围是 -19 ~20新的优先级数= old+Ni 但是主要每一次的OLD 都是80ps -ls 里面的uid 就是woami 代表执行者的身份怎么修改NI的值呢 top 然后 r 然后输入 pid 然后 输入NI的值 如果不要改 加sudo环境变量环境变量一般是指在操作系统中 用来指定操作系统运行原创 2022-04-08 12:52:36 · 152 阅读 · 0 评论 -
linux 进程(一)
Linux 进程的概念::课本概念:程序的一个执行实例,正在执行的程序等内核观点:担当分配系统资源(CPU时间,内存)的实体进程的描述 我们用pcb 进程控制模块来描述task struct 内容分类标识符:: 描述本进程的唯一标示符,用来区别其他进程状态: 任务状态 推出代码 退出符号优先级 相对于其他进程的优先级程序计数器 程序中即将被执行的下一条指令的地址内存指针:: 包括程序代码和进程相关的数据的指针 还有和其他进程共享的内存块的指针查看进程 ls/proc/原创 2022-04-07 21:43:54 · 472 阅读 · 0 评论 -
linux 基础:::::
一、、常见指令和权限理解1 xshell 下的复制跟粘贴 ctrl+insert shift+insert1 mkdir 创建一个目录2 rmdir rm 如果是空目录可以用rmdir 来删除 如果不是空目录 用 rm-rf 来删除3 man man1 普通调用 man 2 系统调用如 open write man 3 库函数Linux 权限的概念文件类型::d 文件夹 - 普通文件 l 软文件 b块设备文件 p 管道文件 c 字符设备文件 s 套接口文件改动权限的方法 ch原创 2022-04-07 19:23:16 · 326 阅读 · 0 评论