
Linux
HL_HLHL
这个作者很懒,什么都没留下…
展开
-
epoll函数
文章目录数据结构函数1.epoll_create()2.epoll_ctl()3.epoll_wait()头文件:#include<sys/epoll.h>数据结构epoll函数中所使用到的数据结构:typedef union epoll_data { void ptr; int fd; __uint32_t u32; __uint64_t u64;} epoll...原创 2020-03-17 21:57:24 · 341 阅读 · 0 评论 -
Socket中接口函数简介
文章目录1.创建socketdomaintypeprotocolerrno2.命名socketsockaddr_inbindconnect()3.监听socket4.接收连接5.发起连接(暂时了解)6.关闭连接close()showdown()7.TCP数据读写8.UDP数据读写(了解)9.实现多线程TCP服务器在网络编程中客户端和服务端所需要的函数如下图:1.创建socket#incl...原创 2020-03-14 22:22:16 · 977 阅读 · 0 评论 -
Linux多线程编程之pthread
文章目录1.线程创建2. 线程等待3.线程分离线程资源回收4.线程的终止pthread_exit()函数pthread_cancel()函数头文件:#include <pthread.h>在编译时注意加上-lpthread参数,以调用静态链接库。因为pthread并非Linux系统的默认库。1.线程创建函数声明int pthread_create(pthread_t * th...原创 2020-03-13 00:42:55 · 600 阅读 · 0 评论 -
多线程控制&多线程安全&死锁&读写锁
文章目录多线程概念线程控制线程创建线程终止线程等待线程分离线程安全如何实现线程安全?同步互斥死锁读者写者模型--读写锁多线程概念在传统操作系统上pcb是一个进程,描述一个程序的运行,还有一个tcp描述实现线程,但是 在linux下使用pcb描述实现了程序调度并且这些pcb共用同一个虚拟地址空间,相较于传统的pcb更加轻量化一点,因此也把linux下的pcb称之为轻量级进程。进程是系统资源...原创 2020-01-05 21:14:25 · 566 阅读 · 0 评论 -
进程间通信(IPC)
进程间通信(IPC):操作系统为用户提供的几种进程间通信方式。管道–用于进程间的数据传输本质:内核中的一块缓冲区–通过半双工(可以选择方向的单向通信)通信实现数据传输。原理:通过让多个进程都能访问到同一块缓冲区,来实现进程间通信。管道分类:匿名管道\命名管道匿名管道概念:这块内核中的缓冲区没有标识。特性:只能用于具有亲缘关系的进程间通信。子进程通过复制父进程的方式,获取到管道的操作句...原创 2020-01-02 18:41:43 · 386 阅读 · 1 评论 -
进程控制
文章目录进程创建fork()vfork()进程终止进程等待程序替换exec函数族进程创建fork()创建一个进程的流程:首先要创建一个pcb,使用fork()函数,fork()函数中会调用clone()函数,来复制父进程中的信息。这里是采用的写实拷贝技术(实现代码共享,数据独有)。子进程会复制父进程的pcb、虚拟地址空间、页表,但是在子进程要修改数据时会给子进程申请新的物理地址来存放修改...原创 2020-01-01 19:55:25 · 367 阅读 · 0 评论 -
进程概念
文章目录什么是进程冯诺依曼体系结构进程概念PCB进程的创建和查看查看进程信息杀死进程进程状态僵尸进程孤儿进程进程优先级环境变量程序地址空间什么是进程冯诺依曼体系结构输入设备:采集获取数据(键盘)输出设备:数据输出(显示器)存储器:内存/运算器+控制器:中央处理器CPU硬件结构决定软件行为。所有硬件都是围绕内存工作的。**操作系统:**系统内核+外部应用。管理计算机上的软硬...原创 2019-12-31 18:08:00 · 274 阅读 · 0 评论 -
将linux下的rm命令改造成mv到指定的目录下
1.先将自己的权限设置为超级用户2.创建一个回收站目录3.将下面代码加入用户家目录下的~/.bashrc文件下4.文件生效5.如何查看是否配置成功呢?rm是Linux下删除文件的命令,它是Linux下即强大又危险的一条命令,特别是rm -rf有时候强大到让你欲哭无泪~~~#rm -rf /*一不小心就删光所有文件….而且很难恢复~为了给自己留条后路,我们可以自己给自己...原创 2018-08-23 14:32:13 · 798 阅读 · 0 评论 -
Linux下如何解压压缩文件
Linux下自带了一个unzip的程序可以解压缩文件, 解压命令是:unzip filename.zip 同样也提供了一个zip程序压缩zip文件,命令是 zip filename.zip files 会将files压缩到filename.zip 另外看看你的文件的后缀名,不同的后缀的文件解压和压缩的命令都不一样 总结一下 1、*.tar 用 tar –xvf 解压 ...原创 2018-08-23 16:16:00 · 307 阅读 · 0 评论 -
Linux下实现一个简易的shell脚本
什么是shell 脚本怎样编写一个shell 脚本代码在Linux系统下我们都是通过在命令行敲击一些命令来实现一些我们想要的操作,只要了解一些进程程序替换的知识,我们也可以自己写一个简易的shell。什么是shell 脚本 最简单的解释,一个shell 脚本就是一个包含一系列命令的文件。shell 读取这个文件,然后执行文件中的所有命令,就好像这些命令已经直接被输入到...原创 2018-09-04 19:34:50 · 1422 阅读 · 0 评论 -
基础c库文件IO/系统操作接口
练习open/read/write/close等文件相关系统调用接口,纵向对比fd与FILE结构体 - 对之前编写的自主shell进行修改,使其支持输入/输出/追加重定向 - 编写简单的add/sub/mul/div函数,并打包成动/静态库,并分别使用。c库的文件IO操作接口fopen1.作用: 在C语言中fopen()函数用于打开指定路径的文件,获取指向该文件的指针。...原创 2018-09-11 17:36:58 · 763 阅读 · 0 评论 -
理解linux下的文件系统和软硬件链接
文章目录文件系统软/硬链接文件文件系统如何描述文件和如何管理文件的一个系统我们使用ls -l命令的时候除了看到文件名之外还能看到文件元数据。我们可以观察到tmp.txt文件实际只占用磁盘空间41字节,但是系统给它分配了4K(1K=1024字节)大小的空间,因为磁盘块(最小的存储单位)最小的空间是4K,所以系统在分配磁盘空间的时候是分配4K的整数倍大小。再观察stat这个命令的执行结果,...原创 2018-09-21 15:00:44 · 767 阅读 · 0 评论