linux
Antony12
编程!
展开
-
linux学习笔记二(进程)
1、硬件中断技术的出现,进而软件片上有了分时系统,时间片轮转。2、进程:从用户角度看,进程是程序的一次动态执行过程。3、从操作系统角度看: 1)进程是操作系统分配内存,CPU时间片等系统资源的基本单位。 2)每个进程有自己独立的虚拟地址空间和进程状态 3 ) 进程是分配资源的最小单位4、程序:为了执行特定任务的一系列指令的有序集合5、进程是程序的一次执...原创 2018-04-03 16:46:53 · 182 阅读 · 0 评论 -
网络基础(一)
复习:1、进程处理信号必须在合适的时候,即从内核态切换到用户态。2、对信号的处理方式:3种1)缺省;2)忽略;3)自定。3、信号产生——-信号被判定———-信号在合适的时候被处理——–信号的处理过程——–信号有哪些处理方式。操作系统向前台进程组或前台作业发送信号。4、守护进程:1命名以D结尾 2特点: 1)不...原创 2018-06-26 10:17:23 · 197 阅读 · 0 评论 -
文件描述符
一、文件常见的几种打开与读写方式:FILE *fopen(const char *path, const char *mode);//它是库函数 打开文件size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);//读入数据 size_t fwrite(const void *ptr, size_t size, si...原创 2018-06-05 09:28:52 · 3633 阅读 · 0 评论 -
线程
1、线程是在进程内部运行的一个执行分支 2、线程的创建成本比较小,删除进程成本也比较小,只需要创建一个PCB,指向那块内存地址空间就行。3、线程是在进程内部运行,本质上是在同一块地址空间上运行。怎么理解一个进程中间会有多个执行流的?一个执行流被一个线程表示,一个进程里面可以有多个线程,所以一个进程里面会有多个执行流。 4、站在cpu的角度不需要区分进程与线程,因为cpu所做的工...原创 2018-05-21 22:03:57 · 254 阅读 · 0 评论 -
LINUX环境开发基础工具使用
vim记忆方式:打开,关闭,查看,查询,插入,删除,替换,撤销,复制等等操作一、vim 中的三模式及关系: 1)要查看你的所有模式:打开vim,底行模式直接输入: help vim-modes 2)退出vim及保存文件,在[正常模式]下,按一下[:]冒号键进入[last line mode],例如: :w(保存当前文件) :wq (存盘并退出vim) :q!(不存盘强制退出v...原创 2018-04-29 16:28:54 · 807 阅读 · 1 评论 -
LINUX进程控制(上)
重点:进程创建,fork/vfork进程等待进程替换,微型shell,重新认识shell运行原理进程终止,认识$一、进程创建: fork函数: 从已存在进程中创建一个新进程。新进程为子进程,原进程为父进程。2、 进程调用fork,当控制到内核中的fork代码后,内核做:分配新的内存块和内核数据结构给子进程将父进程部分数据结构内容拷贝至子进程添加子进程...原创 2018-05-06 16:25:46 · 333 阅读 · 0 评论 -
linux开发工具
本篇博客主要解决以下几个问题: 1. vim自行查找资料, 自行配置插件. 2. 自行查找资料, 调研除了vim, 还有哪些常用的牛逼的编辑器, 并能够横向对比编辑器之间的区别和优缺点. 3. 自行查找资料, 调研除了gcc, 还有哪些常用的牛逼的编译器(不限制编程语言, 不限制平台). 4. 为什么调试的时候需要编译选项中添加 -g. 同学们自行调研readelf命令. 5. ...原创 2018-04-28 07:53:30 · 2683 阅读 · 0 评论 -
linux进程替换(下)
1、替换原理: 用fork创建子进程后执行的是和父进程相同的程序,子进程往往要调用一种exec函数以执行另一个程序。当进程调用一种exec函数时,该进程的用户空间代码和数据完全被新程序替换,从新程序的启动例程开始执行。调用exec并不创建新进程,所以调用exec前后该进程的id并未改变。 2、替换函数: #include<unistd.h>1、int execl(co...原创 2018-05-09 15:09:54 · 268 阅读 · 0 评论 -
Linux进程概念
一、认识冯诺依曼系统:常见的计算机,如笔记本。我们不常见的计算机,如服务器,大部分都遵守冯诺依曼体系。 截至目前,我们所认识的计算机,都是有一个个的硬件组成 输入单元:键盘,鼠标,扫描仪,写板等 中央处理器:含运算器和控制器所有的外设都只能和存储器打交道。cpu也只能和存储器打交道。所以内存起着很重要的作用。为什么要有存储器?输入设备和输出设备不与cpu直接连接?cpu运行速度极快,输原创 2018-05-02 06:54:13 · 837 阅读 · 0 评论 -
进程间通信
同步和互斥 互斥:由于各个进程需要共享资源,而共享资源具有排他性。各个进程竞争使用这些资源,进程的这种关系称之为互斥。 这种一次只能被一个进程使用的资源称之为临界资源 访问临界资源的代码段称之为临界区。 同步:多个进程相互配合共同完成一项任务进程间通信的目的: 数据传输: 资源共享: 通知事件:进程间通信的发展:管 道 SysV IPC 事实上的标准POSIX推荐看的书籍1原创 2018-04-17 21:43:02 · 142 阅读 · 0 评论 -
linux学习笔记一(gcc)
1、gcc gcc -E //预处理 test.c -o test.i -m32(32位机器)//#define #include // gcc -S //编译 **.s gcc -c //汇编 **.o .o文件 可重定位的目标文件 //链接 readelf 查看elf文件 -h查看文件的头 test.o原创 2018-04-03 17:00:42 · 219 阅读 · 0 评论 -
TCP三次握手-backlog队列问题
TCP三次握手-backlog队列问题.md概述之前有同事做压力测试时,发现无论如何都无法突破128并发的问题,经排查发现该服务器ACCEPT QUEUE队列都为128,限制了网络的并发。TCP三次握手Linux内核协议栈为一个TCP连接管理使用两个队列,一个是半链接队列SYN QUEUE(用来保存处于SYN_SENT和SYN_RECV状态的请求),一个是ACCE...转载 2019-03-14 17:12:27 · 234 阅读 · 0 评论