![](https://img-blog.csdnimg.cn/direct/c417f11d94a14faaa16d9ff881a7d04b.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
linux操作系统
文章平均质量分 87
Linux操作系统笔记
txinyu的博客
这个作者很懒,什么都没留下…
展开
-
基础IO
创建文件时,索引块的所有指针都设为空。软链接又叫做符号链接,软链接文件相对于源文件来说是一个独立的文件,该文件有自己的inode号,但是该文件只包含了源文件的路径名,所以软链接文件的大小要比源文件小得多。链接文件的inode号与源文件的inode号是相同的,并且硬链接文件的大小与源文件的大小也是相同的,硬链接文件就是源文件的一个别名,一个文件有几个文件名,该文件的硬链接数就是几,与软连接不同的是,当硬链接的源文件被删除后,硬链接文件仍能正常执行,只是文件的链接数减少了一个,因为此时该文件的文件名少了一个。原创 2023-07-15 23:50:49 · 119 阅读 · 0 评论 -
进程、线程、协程
协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈,直接操作栈则基本没有内核切换的开销,可以不加锁的访问全局变量,所以上下文的切换非常快。5)协程并不是取代线程, 而且抽象于线程之上, 线程是被分割的CPU资源, 协程是组织好的代码流程, 协程需要线程来承载运行, 线程是协程的资源, 但协程不会直接使用线程, 协程直接利用的是执行器(Interceptor), 执行器可以关联任意线程或线程池, 可以使当前线程, UI线程, 或新建新程.。6)线程是协程的资源。原创 2023-08-07 22:33:04 · 299 阅读 · 1 评论 -
多线程
一个线程如果被分离了,这个线程依旧要使用该进程的资源,依旧在该进程内运行,甚至这个线程崩溃了一定会影响其他线程,只不过这个线程退出时不再需要主线程去join了,当这个线程退出时系统会自动回收该线程所对应的资源。主线程是产生其他子线程的线程。调用该函数的线程将挂起等待,直到ID为thread的线程终止,thread线程以不同的方法终止,通过pthread_join得到的终止状态是不同的。线程是进程的执行分支,线程出异常,就类似进程出异常,进而触发信号机制,终止进程,进程终止,该进程内的所有线程也就随即退出。原创 2023-07-16 20:36:48 · 126 阅读 · 0 评论 -
进程概念与进程控制
printf,scanf,fopen,fclose,fgetc,fgets,fprintf,fsacnf,fputc,calloc,free,malloc,realloc,strcat,strchr,strcmp,strcpy,strlen,strstr等,需要包含stdio.h,string.h,alloc.h,stdlib.h等头文件。作用:等待任意子进程。产生的原因:如果子进程先于父进程退出,同时父进程太忙了,无瑕回收子进程的资源,子进程残留资源(PCB)存放于内核中,变成僵尸(Zombie)进程。原创 2023-07-15 22:08:59 · 249 阅读 · 0 评论 -
DNS、ARP
如果存在一个大型的网站,此时可能存在多台服务器来提供服务,此时存在一个域名对应着多个服务器的ip地址,此时当用户请求DNS解析时,此时会请求到多个ip地址,在每一个请求中会循环的将这些ip地址排序,然后取出第一个返回给用户。指攻击者利用其他攻击手段,篡改了某个域名的解析结果,使得指向该域名的IP变成了另一个IP,导致对相应网址的访问被劫持到另一个不可达的或者假冒的网址,从而实现非法窃取用户信息或者破坏正常网络服务的目的。当某一个DNS服务器接受到一个DNS响应时,此时就会缓存到本地存储器中。原创 2023-08-10 01:47:18 · 371 阅读 · 9 评论 -
命令和工具章节
在我们的实际开发中,不可能将所有代码放在一个源文件中,所以会出现多个源文件,而且多个源文件之间不是独立的,而会存在多种依赖关系,如一个源文件可能要调用另一个源文件中定义的函数,但是每个源文件都是独立编译的,即每个*.c文件会形成一个*.o文件,为了满足前面说的依赖关系,则需要将这些源文件产生的目标文件进行链接,从而形成一个可以执行的程序。2)删除该目录下已经存在的文件或子目录(不论该文件或子目录的权限如何),注意:这点很重要,用户能否删除一个文件或目录,看的是该用户是否具有该文件或目录所在的目录的w权限。原创 2023-07-14 22:24:19 · 176 阅读 · 0 评论 -
TCP和UDP
服务器第一次收到客户端的 SYN 之后,就会处于 SYN_RCVD 状态,此时双方还没有完全建立其连接,服务器会把此种状态下请求连接放在一个队列里,我们把这种队列称之为半连接队列。当然还有一个全连接队列,就是已经完成三次握手,建立起连接的就会放在全连接队列中。如果队列满了就有可能会出现丢包现象。原创 2023-08-07 23:50:21 · 1291 阅读 · 0 评论 -
Linux常见指令
堆栈向量检测方法可以帮助程序员更容易地检测出任何运行时堆栈中出现的问题,可以有效地定位潜在的非法操作和漏洞,以帮助改善程序的性能和安全性。如果希望看到详细的当前栈帧的信息,如函数地址、调用函数的地址、被调用函数的地址、当前函数由哪种编程语言编写、函数参数地址及形参值、局部变量的地址等,可以使用 info frame 命令(缩写形式 i f)。内存栈区 (stack) 由编译器自动分配和释放,用于存放函数的形参值、局部变量的值、函数返回地址等数据,其操作方式与数据结构中的栈一致,都是后进先出的原则。原创 2023-08-08 19:23:42 · 268 阅读 · 0 评论 -
进程通信与信号
消息队列实际上就是在系统当中创建了一个队列,队列当中的每个成员都是一个数据块,这些数据块都由类型和信息两部分构成,两个互相通信的进程通过某种方式看到同一个消息队列,这两个进程向对方发数据时,都在消息队列的队尾添加数据块,这两个进程获取数据块时,都在消息队列的队头取数据块。进程间通信的本质就是,让不同的进程看到同一份资源,使用匿名管道实现父子进程间通信的原理就是,让两个父子进程先看到同一份被打开的文件资源,然后父子进程就可以对该文件进行写入或是读取操作,进而实现父子进程间通信。命名管道创建失败,返回-1。原创 2023-07-16 16:33:12 · 142 阅读 · 0 评论 -
HTTP和HTTPS
1.优点:(1)使用HTTPS协议可认证用户和服务器,确保数据发送到正确的客户机和服务器;(2)HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全,可防止数据在传输过程中不被窃取、改变,确保数据的完整性。(3)HTTPS是现行架构下最安全的解决方案,虽然不是绝对安全,但它大幅增加了中间人攻击的成本。(4)谷歌曾在2014年8月份调整搜索引擎算法,并称“比起同等HTTP网站,采用HTTPS加密的网站在搜索结果中的排名将会更高”。原创 2023-08-07 21:16:42 · 1046 阅读 · 2 评论 -
linux网络
网络字节序:大端字节序 网络字节序和主机字节序的转换。原创 2023-08-03 10:41:16 · 74 阅读 · 1 评论 -
进程
进程是 Unix 和 Linux 系统中对正在运行中的应用程序的抽象,通过它可以管理和监视程序对内存、处理器时间和 I / O资源的使用。程序被触发后,执行者的权限与属性、程序的程序代码与所需数据等都会被加载内存中,操作系统并给予这个内存内的单元一个标识符 (PID),可以说,进程就是一个正在运作中的程序。进程,是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位或者linux操作系统最小的资源管理单元。进程与程序对比。原创 2023-09-09 11:06:13 · 160 阅读 · 18 评论 -
进程同步
进程同步的四种方法。原创 2023-08-25 15:39:16 · 240 阅读 · 6 评论 -
OSI七层模型及TCP/IP四层模型
网络层的还有一个任务就是选择合适的路由,使源主机运输层所传下来的分组,能通过网络层中的路由器找到目的主机。互联网使用的网络层协议是无连接的网际协议(Internet Prococol)和许多路由选择协议,因此互联网的网络层也叫做IP层。在互联网中应用层协议很多,如支持 Web 应用的 HTTP 协议,支持电子邮件的 SMTP 协议等等。(User Datagram Protocol)——提供无连接的,尽力而为的数据传输服务(不保证数据传输的可靠性)。可以把网络接口层看作是数据链路层和物理层的合体。原创 2023-08-13 18:17:07 · 1657 阅读 · 1 评论 -
进程,线程切换
由于每个进程都有自己的虚拟地址空间,那么显然每个进程都有自己的表,那么当进程切换后页表也要进行切换,页表切换后TLB就失效了,cache失效导致命中率降低,那么虚拟地址转换为物理地址就会变慢,表现出来的就是程序运行会变慢,而线程切换则不会导致TLB失效,因为线程线程无需切换地址空间,因此我们通常说线程切换要比较进程切换块,原因就在这里。因为每个进程都有自己的虚拟地址空间,而线程是共享所在进程的虚拟地址空间的,因此同一个进程中的线程进行线程切换时不涉及虚拟地址空间的转换。这里说的是相同进程下的线程。原创 2023-09-20 10:35:22 · 359 阅读 · 16 评论 -
IP协议
IP地址是唯一标记互联网中计算机的标识,IP地址共占用4个字节,使用点分十进制表示。IP地址和MAC地址都是一种标识,IP地址标记网络中的计算机,MAC地址标记网络硬件设备。原创 2023-08-13 15:32:03 · 277 阅读 · 10 评论 -
select、poll、epoll
使用 struct pollfd结构体来存放被监听的文件描述符,它比select“聪明”的地方就在于它把文件描述符和与其关联的事件都定义在这个结构体中了,从而使得编程接口变得简洁很多,同时内核每次修改的都是pollfd结构体的revents成员,而events成员保持不变,因此下次调用poll()函数时应用程序无须重置pollfd类型的事件集参数。2、与select一样,每次poll系统调用时,需要在内核遍历传入的整个文件描述符集合,逐个检测,查看是否有就绪的文件描述符,然后返回就绪文件描述符的个数。原创 2023-08-17 14:15:21 · 113 阅读 · 5 评论