Linux
like_that
freedom
展开
-
Linux常见操作
常见操作1、放大终端,"ctrl" + "shift" + "+"2、切换目录,cd ~ (切换到个人家目录) cd ..上一级目录3、pwd 查看当前目录4、ls 查看当前目录的文件和子目录 ls -a 显示所有文件,包括隐藏文件5、清屏,clear,或者ctrl+l6、新建文件夹(目录),mkdir 文件夹名(目录名) ,例如 mkdir src7、编辑文件:vi 文...原创 2018-10-13 22:56:52 · 423 阅读 · 0 评论 -
【网络】OSI的七层模型(为什么要分层)
一、OSI的七层模型应用层:为应用程序提供服务; 常见的协议有:FTP、SMTP、HTTP、DNS等表示层:数据格式转换,数据加密; CSS、HTML、GIF会话层:建立、维护和管理会话; ...原创 2019-08-16 15:09:52 · 12108 阅读 · 1 评论 -
【Linux】select、poll、epoll的区别,LT模式与ET模式
三个函数的区别: LT模式:在数据到达后,无论程序是没有接收,还是接收了但没有接收完,下一轮epoll_wait仍然会提醒应用程序该描述符上有数据,直到数据被接受完。(设置为阻塞和非阻塞都可以)ET模式:在数据到达后,无论程序是没有接收,还是接收了但没有接收完,都只提醒一次,下一轮不再提醒应用程序该描述符上有数据。(只能设置为非阻塞)为什么epoll的ET模式只能设置为非阻塞?...原创 2019-08-25 18:41:46 · 442 阅读 · 0 评论 -
【网络】TCP的三次握手与四次挥手以及面试相关的问题
一、TCP的三次握手与四次挥手1、三次握手定义:指建立一个TCP连接时,需要客户端和服务器总共发送3个包。建立连接的过程为三次握手目的:连接服务器指定端口,建立TCP连接,并同步连接双方的序列号和确认号并交换TCP窗口大小信息。可能触发三次握手的情况:在socket编程中,客户端执行connect()时,将触发三次握手。三次握手的作用: ①使得通讯双方都做...原创 2019-08-16 12:13:57 · 197 阅读 · 0 评论 -
【Linux】进程与线程2(线程安全、线程的实现、线程中执行fork、多线程调试)
一、线程安全——可重入函数概念:一个函数被称为线程安全的(thread-safe),当且仅当被多个并发进程反复调用时,它会一直产生正确的结果。反之,如果一个函数不是线程安全的,我们就说它是线程不安全的(thread-unsafe)。 1、调用线程安全的函数,可重入函数;(有些系统调用或者库函数在实现时,用到了静态的数据,在多线程调用时,出现不安全现象) 2、同步(因为线程之...原创 2019-05-24 00:05:01 · 298 阅读 · 0 评论 -
【Linux】进程与线程(区别、进程的状态、线程的实现方式、创建、同步方法)
一、线程与进程的概念进程:一个正在运行的程序;线程:进程内部的一条执行路径/序列。二、进程与线程的区别1、进程是资源分配的最小单位,线程是CPU调度执行的最小单位;2、多进程,进程间调度都是独立的,同一进程中的多线程,资源是共享的;3、线程更加轻便、更加小巧,线程创建调度、切换调度都比进程高。4、线程必须依赖与进程;5、同一个进程中线程都是并发进行,并且线程的...原创 2019-05-22 20:46:10 · 1531 阅读 · 0 评论 -
Linux进程创建fork和vfork的使用与区别、僵死进程及其解决方法
目录一、fork函数二、vfork函数三、fork与Vfork的区别四、结束子进程一、fork函数函数原型:pid_t fork(void);(pid_t 实际是int类型)fork函数创建子进程,子进程的地址空间与父进程共享(不包括进程的栈区),但内核会将共享的空间设置为只读。fork的返回值:fork函数被父进程调用一次,但是却返回两次;一次是返回到父进程,...原创 2019-05-17 23:39:02 · 725 阅读 · 0 评论 -
【Linux】进程间通讯的五种方式(管道、信号量、共享内存、消息队列、套接字)
信号:通知一个进程发生了什么事件进程间的通讯方式有:管道、信号量、共享内存、消息队列、套接字。一、管道特点: 1、它是半双工的(即数据只能在一个方向上流动),具有固定的读端和写端。 2、它只能用于具有亲缘关系的进程之间的通信(也是父子进程或者兄弟进程之间)。 3、它可以看成是一种特殊的文件,对于它的读写也可以使用普通的read、write 等函数...原创 2019-05-20 23:38:10 · 2018 阅读 · 0 评论 -
【Linux】文件操作(open/read/write/close)、系统调用与库函数的区别
一、文件描述符概念:文件描述符在形式上是一个非负整数。实际上,它是一个索引值,指向内核为每一个进程所维护的该进程打开文件的记录表。当程序打开一个现有文件或者创建一个新文件时,内核向进程返回一个文件描述符。文件描述符主要用于read、write、close、lseek二、文件操作函数1、int open(const char *pathname,int flag,/*int mode...原创 2019-05-19 23:23:33 · 4645 阅读 · 0 评论 -
【Linux】select、poll、epoll 的区别以及他们的函数原型
目录用来解决什么问题?一、select二、poll三、epoll(Linux独有)用户关注的文件描述符上的事件直接由内核记录三个函数的区别解决的问题:用来解决什么问题?1、同时处理多个描述符;2、监听多个描述符上有没有就绪事件。I/O复用:一个进程或者一个线程能够同时对多个文件描述符(socket)提供服务 服务器上的进程或者线程,如何将多个文...原创 2019-05-14 15:13:01 · 745 阅读 · 0 评论 -
进程控制块(PCB)、进程状态的转移
进程控制块(PCB)概念:进程控制块,是我们学习操作系统后遇到的第一个数据结构描述,它是对系统的进程进行管理的重要依据,和进程管理相关的操作无一不用到PCB中的内容。一般情况下,PCB中包含以下内容:(1)进程标识符(内部,外部)(2)处理机的信息(通用寄存器,指令计数器,PSW,用户的栈指针)。(3)进程调度信息(进程状态,进程的优先级,进程调度所需的其它信息,事件)(4)...原创 2019-05-19 00:36:59 · 676 阅读 · 0 评论 -
Linux-操作系统
操作系统的发展历史:1、串行处理;2、批处理;3、多道程序设计;4、分时系统;5、实时系统。计算机组成:总线:数据总线、地址总线、控制总线操作系统对于进程的管理:进程:运行中的程序。(在计算机中是一组有序指令、数据、资源的集合)程序:存储在磁盘上的可执行文件。计算机管理进程1、管理内存上进程相关的数据;2、管理的是进程的属性:pid、...原创 2018-12-09 23:39:34 · 144 阅读 · 0 评论 -
Linux C程序的编译连接及调试工具(gdb)、库文件、动态库与静态库的区别
查看文件内容cat filenamemore filenameless filenamehead -n filename (查看文件前n行)tail -n filename (查看文件后n行)C程序的编译连接Linux 调试工具 gdb编译过程中加入debug信息:gcc -c main.c -g链接不会加入debug信息:gcc -o...原创 2018-12-05 23:24:44 · 702 阅读 · 0 评论 -
Linux的操作命令
文件操作命令:修改属性:关机命令:init 0 hait shut down重启命令:init 6 reboot模式下的一些基本操作命令 (文件编辑(普通文件))三种模式的转换: 末行模式::w newfile 另存为:wq 保存并退出:q! 强制退出:set nu 显示行号 :set nonu 取消行号/stri...原创 2018-12-04 17:15:20 · 481 阅读 · 0 评论 -
【网络】IP协议的特点、TCP和UDP的特点及区别以及他们的报头信息、为什么TCP是可靠的?粘包的原因等
一 、IP的报头信息特点:无连接、不可靠、无状态 无连接:指IP通信的双方都不长久的维持对方的任何信息。这样上层协议每次发送数据的时候,都必须明确指定对方的IP地址。 不可靠:IP协议不保证数据能准确的到达接收端,只是尽自己最大努力传送 无状态:通信双方不同步传输数据的状态信息,也就是说IP数据报的发送、传输、接收都是相互独...原创 2019-08-16 23:16:26 · 707 阅读 · 0 评论