linux和操作系统
木槿花better
这个作者很懒,什么都没留下…
展开
-
linux编译器使用总结(1)编辑器,编译器,gcc
编辑器用了好久的linux,也逐渐习惯编辑器的使用,相比较使用ide写代码的确不是很“方便”,但看网上说,使用编辑器久了,就会大大提升。我当初使用编辑器时,纠结过纯文本编辑器和图形化编辑器。最终还是选择了vim(系统自带)Emacs和Vim使用上差不多。一开始在vimrc上粘贴一些命令来方便我敲代码,后来实在嫌弃麻烦,直接妥妥的,下一个插件,我的vim已经感觉在编译,敲代码上...原创 2018-10-13 23:42:31 · 1089 阅读 · 0 评论 -
Linux复习:PCB task_struct
从经典函数fork()引出1)在父进程中,fork返回新创建子进程的进程ID; 2)在子进程中,fork返回0; 3)如果出现错误,fork返回一个负值; 在fork函数执行完毕后,如果创建新进程成功,则出现两个进程,一个是子进程,一个是父进程。在子进程中,fork函数返回0,在父进程中,fork返回新创建子进程的进程ID。我们可以通过fork返回的值来判断当前进...原创 2019-04-02 21:16:26 · 468 阅读 · 0 评论 -
Linux复习:pthread的create和join,detach
本文demo运行在阿里云的服务器,Centos系统首先复习进程和线程的资源关系。进程内典型全局资源如下:1)代码区:这意味着当前进程空间内所有的可见的函数代码,对于每个线程来说,也是可见的2)静态存储区:全局变量,静态空间3)动态存储区:堆空间线程内典型的局部资源:1)本地栈空间:存放本线程的函数调用栈,函数内部的局部变量等2)部分寄存器变量:线程下一步要执行代码...原创 2019-04-08 20:21:22 · 1138 阅读 · 2 评论 -
Linux复习: semaphore.h信号量和生产者消费者
点击查看demo代码demo运行结果如图借用网上的一段话在线程世界里,生产者就是生产数据的线程,消费者就是消费数据的线程。在多线程开发当中,如果生产者处理速度很快,而消费者处理速度很慢,那么生产者就必须等待消费者处理完,才能继续生产数据。同样的道理,如果消费者的处理能力大于生产者,那么消费者就必须等待生产者。为了解决这种生产消费能力不均衡的问题,所以便有了生产者和消费者模式。可以对数...原创 2019-04-21 23:53:58 · 5829 阅读 · 0 评论 -
Linux复习:XSI IPC之消息队列总结
在Linux中,IPC消息队列是一个双向通信的全内存设计,即内核保证了读写顺序和数据同步,并且是性能比较优越的先进先出数据结构。消息队列应用于很多场景:比如异步任务处理,抢占式的数据分发,以及顺序缓存区等。消息队列提供了一种从一个进程向另一个进程发送一个数据块的方法。每个数据块都被认为含有一个类型,接受者接受的数据块可以有不同的类型值,我们可以通过发送消息来避免命名管道的同步和阻...原创 2019-04-14 22:41:27 · 365 阅读 · 0 评论 -
centos 7 磁盘挂载
今天搜索的时候,发现网上的磁盘挂载都是fdisk等老旧命令(已经失效),今天写一个小教程,全程贴图挂载右键vm下操作系统,添加硬盘,一路next;(模拟外部插入磁盘)分区ls 可以看到磁盘Liuxin用户无法更改,su rootgdisk命令利用n +num(1,2,3)+ num G 来分区然后ls格式化,挂载然后mkfs.xfs...原创 2019-06-04 17:47:02 · 241 阅读 · 0 评论 -
shell demo练习
实现3个demoAdemo 备份器在linux环境下,B—shell程序,实现文件的备份和恢复,批量处理Bdemo使用一个菜单界面,方便Linux用户对U盘的加载,卸载操作过程,程序5个功能1加载U盘2卸载U盘3查看U盘信息4Linux分区的硬盘加载到U盘5U盘拷贝文件到Liunx分区C学生成绩增删查改功能score代码,存储查询学生成绩,假设...原创 2019-06-25 17:22:25 · 1814 阅读 · 0 评论 -
四次挥手的中间状态错误问题
今天模拟了四次挥手中的一些错误,开门见山,先来TCP状态转移图当然四次挥手的主动方不一定是客户端,正常情况下是客户端,但是如果客户端长时间未响应,服务器也可以主动断开(防止恶意占用系统资源和网络不好情况)四次挥手图和状态图来自百度,连接图来自我的服务器在HTTP 1.0中,客户端的每次请求都要求建立一次单独的连接,在处理完本次请求后,就自动释放连接。 在HTTP 1....原创 2019-06-26 01:30:29 · 1419 阅读 · 0 评论 -
epoll学习笔记
pollpoll 对比select 没有监控的文件描述符上限采用事件结构信息进行描述符监控,简化了三种描述符的操作流程但是poll依然需要将事件结构信息拷贝到内核进行监控在内核中需要轮询遍历的方式进行描述符事件监控(随着描述符增多而性能降低)poll也不会告诉用户具体哪个描述符就绪,需要遍历判断revents来决定描述符应该进行何种操作epollint epoll_create(in...原创 2019-07-03 08:23:21 · 480 阅读 · 1 评论 -
linux下非阻塞io库 epoll
假设你在大学中读书,要等待一个朋友来访,而这个朋友只知道你在A号楼,但是不知道你具体住在哪里,于是你们约好了在A号楼门口见面.如果你使用的阻塞IO模型来处理这个问题,那么你就只能一直守候在A号楼门口等待朋友的到来,在这段时间里你不能做别的事情,不难知道,这种方式的效率是低下的.进一步解释select和epoll模型的差异.select版大妈做的是如下的事情:比如同学甲的朋友来了,selec...转载 2019-04-02 19:48:07 · 579 阅读 · 0 评论 -
ssh原理
SSH是每一台Linux电脑的标准配置。随着Linux设备从电脑逐渐扩展到手机、外设和家用电器,SSH的使用范围也越来越广。不仅程序员离不开它,很多普通用户也每天使用。SSH具备多种功能,可以用于很多场合。有些事情,没有它就是办不成。本文是我的学习笔记,总结和解释了SSH的常见用法,希望对大家有用。虽然本文内容只涉及初级应用,较为简单,但是需要读者具备最基本的"Shell知识"和了解"...转载 2019-04-02 16:09:36 · 199 阅读 · 0 评论 -
netstat命令
在linux一般使用netstat 来查看系统端口使用情况步。 netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的 netstat命令的功能是显示网络连接、路由表和网络接口信息,可以让用户得知目前都有哪些网络连接正在运作。 该命令的一般格式为: netstat [选项] ...转载 2019-04-06 10:04:22 · 394 阅读 · 0 评论 -
惊群汇总(含epoll惊群)
原文查看https://www.cnblogs.com/Anker/p/7071849.html https://blog.csdn.net/lyztyycode/article/details/78648798https://blog.csdn.net/dog250/article/details/80837278汇总一下他们的博客供自己复习使用,我就不自己写了,他们...转载 2019-03-14 20:25:44 · 748 阅读 · 0 评论 -
TCP可靠传输实现
参考谢希仁版《计算机网络》,图片有些是pdf版的,有些不清晰我就使用自己的手机拍照了。面向链接的可靠传输协议,有链接,而可以可靠传输。分为以下几点,特别注意TCP有一个缓冲,当应用程序传送的数据块太长,TCP就可以把它划分短一些再传送。如果应用程序一次只发送一个字节,TCP也可以等待积累有足够多的字节后再构成报文段发送出去。滑动窗口(滑动窗口协议比较复杂,书中列举了连续ARP协议)...原创 2019-03-25 10:30:16 · 500 阅读 · 0 评论 -
Linux常见信号
HUP 1 终端断线INT 2 中断(同 Ctrl + C)QUIT 3 退出(同 Ctrl + \)TERM 15 终止KILL 9 强制终止CONT 18 继续(与STOP相反, fg/bg命令)STOP 19 暂停(同 Ctrl + Z)CHLD 17 父进程或init进程进行收拾僵尸进程用到的信号ILL 4 非法访问 进程接收信号有两种:同步和异步 同步信号比如SIGILL...原创 2019-03-21 19:47:57 · 605 阅读 · 0 评论 -
Linux进程概念
《操作系统》概念上分为三种状态阻塞到就绪:等待的事件发生了 就绪到运行:进程调度程序为之分配了处理机后,该进程便由就绪状态转变运行运行到就绪:时间片已用完而不得不让出处理机,于是进程从运行状态转变就绪运行到阻塞:因为某个事件中断R (TASK_RUNNING),可执行状态表明进程要么是在运行中要么在运行队列里。S (TASK_INTERRUPT...原创 2019-03-25 12:21:04 · 277 阅读 · 0 评论 -
Linux复习:用户操作权限及相关命令
梳理操作系统,linux的脉络,把过去学习的知识系统化,一是方便自己复习,二是分享我的学习。看完我这一篇文章,在linux下操作和编写代码没有问题。我在Linux下最常使用的命令无外乎cd,ls首先,作为用户,有普通用户和root用户,一些整个系统的设置,我会使用root,平时还是我自己用户超级用户(root):可以在linux系统下做任何事情,没有限制**(命令提示符为"...原创 2019-03-27 13:03:55 · 533 阅读 · 0 评论 -
Linux复习:vim,gcc和gdb
梳理操作系统,linux的脉络,把过去学习的知识系统化,一是方便自己复习,二是分享我的学习。vim配置cd到/etc目录打开vimrc,然后网上搜索相关配置,粘贴进去或者直接yum别人打包好的文件。我用的是码云上的一个插件,各种功能,自动补全,好看~vim快捷键我其实常用就切换i(插入模式),底行模式写写小命令,切換vvim命令下面的引用自网...原创 2019-03-27 16:25:21 · 740 阅读 · 0 评论 -
Linux复习:页面置换算法LRU和FIFO
在地址映射过程中,若在页面中发现所要访问的页面不在内存中,则产生缺页中断。当发生缺页中断时,如果操作系统内存中没有空闲页面,则操作系统必须在内存选择一个页面将其移出内存,以便为即将调入的页面让出空间。而用来选择淘汰哪一页的规则叫做页面置换算法。首先引用定义,当发生缺页中断时,虽可随机选择一个页面来置换,但如果每次都选择不常使用的页面会提升系统的性能。如果一个被频繁使用的页面被置换出内存,很...原创 2019-04-06 09:33:31 · 1748 阅读 · 3 评论 -
Linux:守护进程和http服务器
守护进程什么是守护进程?《UNIX环境高级编程》指出属于生存期长的一种进程,系统级别就有许多进程进行内核级别操作或者交互操作需要设置为守护进程,暂且不论。如果我们意图使服务器一直运行,则需要我们的守护进程客户进程-服务器进程模型,在服务器模型中,fork然后exec一个程序来向客户服务是常见的行为,这样我们的守护进程可以让守护进程的子进程打开文件描述符(fork时会继承父进程(守...原创 2019-06-24 22:38:52 · 765 阅读 · 0 评论