
Linux系统
N1314N
有志者事竟成
展开
-
linux下UDP的通信例子
UDP客户端在建立了插口后会直接用sendto函数发送数据,还隐含了一个操作,那就是在发送数据之前,UDP会首先为该插口选择一个独立的UDP端口(在1024-5000之间),将该插口置为已绑定状态。如果一个UDP客户端在建立了插口后首先用bind函数指明了本地地址/端口,也是可以的,这样可以强迫UDP使用指定的端口发送数据。(事实上,UDP无所谓服务器和客户端,这里的界限已经模糊了。)...原创 2019-05-24 14:49:56 · 2575 阅读 · 0 评论 -
Linux下五种I/O模型详解(阻塞IO、非阻塞IO、IO复用、信号驱动、异步IO)
https://blog.youkuaiyun.com/gui951753/article/details/82348485(感谢博主,我已收藏)原创 2019-06-05 15:52:37 · 301 阅读 · 0 评论 -
进程的有哪几种状态,状态转换图,及导致转换的事件
进程的特征与三种基本状态1、特征:1:动态性,2:并发性,3:独立性,4:异步性。2、状态:1:就绪状态 当进程已分配到除CPU以外的所有必要的资源,只要获得处理机便可立即执行,这时的进程状态称为就绪状态。2:执行状态 当进程已获得处理机,其程序正在处理机上执行,此时的进程状态称为执行状态。3:阻塞状态 正在执行的进程,由于等待某个事件发生而无法执行时,便放弃处...原创 2019-06-05 16:14:10 · 14172 阅读 · 0 评论 -
Socket通信流程和套接字作用
【1】Socket的功能(1)Socket的英文原意就是“孔”或“插座”,现在,作为BSD UNIX的进程通讯机制,取其后一种意义。日常生活中常见的插座,有的是信号插座,有的是电源插座,有的可以接受信号(或能量),有的可以发送信号(或能量)。假如电话线与电话机之间安放一个插座(相当于二者之间的接口,这一部分装置物理上是存在的)则Socket非常相似于电话插座。(2)将电话系统与面向连接的Soc...原创 2019-05-29 09:17:57 · 6090 阅读 · 0 评论 -
如何向面试官讲述进程间通信
首先不着急一上去就说通信方式,我们可以说一说为什么会有进程间通信???因为有时候想要在两个进程之间实现数据传输、资源共享、通知事件(例如进程终止时会通知父进程)以及进程控制(debug进程可以控制其他进程的执行),但是我们知道进程组织的时候是一个结构体,进程与进程之间是相互独立的,有独立的虚拟地址空间,所以进程间通信是很难的,所以内核给我们提供一份公共资源让两进程都能访问就可以实现通信了,由此就...原创 2019-05-29 10:05:29 · 211 阅读 · 0 评论 -
华为HR问TCP为什么是三次握手,为什么不是两次或者四次详解
问题:TCP为什么是三次握手,为什么不是两次或者四次?首先,我们要知道TCP是全双工的,即客户端在给服务器端发送信息的同时,服务器端也可以给客户端发送信息。第一次握手:客户端发送TCP包,置SYN标志位为1,将初始序号X,保存在包头的序列号(Seq)里。 第二次握手:服务端回应确认包,置SYN标志位为1,置ACK为X+1,将初始序列号Y,保存在包头的序列号里。 第三次握手:客户端对服务端的...原创 2019-05-29 11:07:22 · 1001 阅读 · 1 评论 -
Linux和Windows内存管理的区别
【1】Linux 系统:Linux 优先使用物理内存,当物理内存还有空闲时,linux是不会释放内存的,即时占用内存的程序已经被关闭了(这部分内存就用来做缓存了)。也就是说,即时你 有很大的内存,用过一段时间后,也会被占满。这样做的好处是,启动那些刚开启过的程序、或是读取刚存取过得数据会比较快,对于服务器很有好处。【2】Windows系统:windows则总是给内存留下一定的空闲空...原创 2019-06-06 14:37:06 · 4422 阅读 · 1 评论 -
2020届---C++必问六大板块总结(基础知识部分、计算机网络部分、算法与数据结构部分、操作系统部分、数据库部分、设计模式部分)
【1】基础部分【2】计算机网络【3】算法与数据结构【4】操作系统【5】数据库【6】设计模式【7】总结(转载请说明出处)答案部分:https://www.nowcoder.com/tutorial/93/509ef14094564a758193396b8e110228...原创 2019-06-14 09:03:15 · 341 阅读 · 0 评论 -
面试官常问的10个Linux问题
1.如何暂停一个正在运行的进程,把其放在后台(不运行)?为了停止正在运行的进程,让其再后台运行,我们可以使用组合键Ctrl+Z。2.什么是安装Linux所需的最小分区数量,以及如何查看系统启动信息?单独一个/root分区足以执行所有的系统任务,但是强烈建议安装Linux时,需要至少三个分区:/root,/boot,/swap。一个IDE硬盘驱动器支持高达63个分区,SCSI硬盘驱动器支...原创 2019-08-08 09:03:35 · 1521 阅读 · 0 评论 -
linux基本的架构与原理面试
问题一:绝对路径用什么符号表示?当前目录、上层目录用什么表示?主目录用什么表示? 切换目录用什么命令?答案:绝对路径:如/etc/init.d当前目录和上层目录:./ ../主目录:~/切换目录:cd问题二:怎么查看当前进程?怎么执行退出?怎么查看当前路径?答案:查看当前进程:ps执行退出:exit查看当前路径:pwd问题三:怎么清屏?怎么退出当前命令?怎么执行...原创 2019-08-09 09:28:54 · 514 阅读 · 1 评论 -
面试官常问的10个Linux问题
1.如何暂停一个正在运行的进程,把其放在后台(不运行)?为了停止正在运行的进程,让其再后台运行,我们可以使用组合键Ctrl+Z。2.什么是安装Linux所需的最小分区数量,以及如何查看系统启动信息?单独一个/root分区足以执行所有的系统任务,但是强烈建议安装Linux时,需要至少三个分区:/root,/boot,/swap。一个IDE硬盘驱动器支持高达63个分区,SCSI硬盘驱动器支...原创 2019-08-27 09:32:07 · 1389 阅读 · 0 评论 -
面试常问的LINUX基本操作
Linux版本注意区分Linux核心版本和distribution版本。Linux核心版本编号格式为类似:2.6.18-92.el5。2是主版本,6是次版本,偶数是稳定版,奇数是测试版。 Linux的distribution众多,由套件管理的方式可分为RedHat系统的RPM方式及Debian系统的dpkg方式。Ubuntu使用dpkg方式。Linux系统目录结构ubuntu 下载的软...原创 2019-05-23 15:48:38 · 1160 阅读 · 0 评论 -
HR常问到线程的三种模型大全
原创 2019-05-30 11:35:00 · 450 阅读 · 0 评论 -
网络编程之TCP/UDP及其流程比较
一、TCP与UDP的区别1、基于连接与无连接2、对系统资源的要求(TCP较多,UDP少)3、UDP程序结构较简单 流模式与数据报模式 TCP保证数据正确性,UDP可能丢包 TCP保证数据顺序,UDP不保证二、具体编程时的区别1、socket()的参数不同2、UDP Server不需要调用listen和accept3、UDP收发数据用sendto/recvfrom函数4、TC...原创 2019-05-24 15:07:02 · 462 阅读 · 0 评论 -
合法的MAC地址
以太网的地址为48位,由ieee统一分配给网卡制造商,每个网卡的地址都必须是全球唯一的。共6个字节的长度字节 5 4 3 2 1 0位 47。。40 39。。32 31。。24 23。。16 15。。8 7。。0例子 08 00 09 A0 4A B1我们需要注意的是以太网地址的第32位是组播地址的标志位:位 47。。33 32 31。。24 23。。0制造厂商标识 组播标志位 制造厂...原创 2019-05-24 15:10:11 · 1414 阅读 · 0 评论 -
如何查看Linux下端口占用情况的命令
在使用Linux系统的过程中,有时候会遇到端口被占用而导致服务无法启动的情况。比如HTTP使用80端口,但当启动Apache时,却发现此端口正在使用。这种情况大多数是由于软件冲突、或者默认端口设置不正确导致的,此时需要查看究竟哪个进程占用了端口,来决定进一步的处理方法。查看端口占用情况的命令:lsof -i1 [root@www ~]# lsof -i2 COMMAND PID USE...原创 2019-05-24 15:15:41 · 649 阅读 · 0 评论 -
linux中sockaddr_in , sockaddr , in_addr区别
sockaddr_in , sockaddr , in_addr区别struct sockaddr { unsigned short sa_family; char sa_data[14]; }; 上面是通用的socket地址,具体到Internet socke...原创 2019-05-24 15:18:45 · 983 阅读 · 0 评论 -
linux中彻底分析#!bin/sh是什么意思
以下是部分内容注意:#!行中的解释器的路径必须是全路径,exec函数并不对其特殊处理,比如用PATH变量来搜索它的真实路径,所以路径是由程序员来保证正确的。二、我的脚本第一句必须得是#!/bin/bash吗?当然不必了,通过上面的解释,其实第一句的#!是对脚本的解释器程序路径,脚本的内容是由解释器解释的,我们可以用各种各样的解释器来写对应的脚本,比如说/bin/csh脚本,/bin/per...原创 2019-05-24 15:21:14 · 4172 阅读 · 0 评论 -
shell函数【参数传递及输入输出】&内置函数彻底分析
包括的内容为:1、函数定义2、退出状态3、参数传递4、标准IO5、脚本调试6、AND&OR7、内置命令补充知识点https://blog.youkuaiyun.com/imxiangzi/article/details/50373535分析过程...原创 2019-05-24 15:25:29 · 881 阅读 · 0 评论 -
Qt设计用户界面的三种方法
Qt设计界面有三种方式:(1)手工编写创建界面的代码:此方法比较复杂,不够直观;(2) 使用Qt Designer界面编辑器设计:可直接拖放控件、设置控件的属性,简单、直观、易于操作;(3)动态加载UI文件并生成界面:此方法很灵活,当需要更改界面时只需更改.UI文件即可,无需重新编译程序。A、手工设计界面 使用手工创建代码时,需要从Qt已有的GUI类库中选择一个类作为基类继承,并且添加...原创 2019-05-24 21:41:04 · 12718 阅读 · 1 评论 -
面试常问到-----linux最常用的20个命令
面试的时候经常要问道一些关于linux的命令的知识,于是查找一下关于这方面的知识感觉总结的比较全面的是这个博客:https://blog.youkuaiyun.com/q357010621/article/details/80248611(感谢原来的博主)...原创 2019-05-17 16:10:37 · 1729 阅读 · 0 评论 -
TCP 和UDP 的传输机制与应用场景
一、TCP和UDP两者都是通信协议,TCP和UDP都是传输层协议,但是他们的通信机制和应用场景不同。二、TCPTCP(Transmission Control Protocol)又叫传输控制协议,TCP是面向连接的,并且是一种可靠的协议,在基于TCP进行通信时,通信双方需要建立TCP连接,建立连接需要经过三次握手,握手成功才可以通信。三、UDPUDP是一种面向无连接,切不可靠的协议...原创 2019-05-27 11:39:15 · 1808 阅读 · 0 评论 -
Linux怎样实现交互编程(Ioctl函数)
https://blog.youkuaiyun.com/coolwriter/article/details/78242256(感谢之前的博主写的非常好)原创 2019-05-27 16:56:28 · 377 阅读 · 0 评论 -
linux操作系统常用面试题目
1、请描述一下用多线程怎么实现生产者消费者模型2、知道nginx的惊群现象吗?怎么解决?3、请说一下epoll的内核实现,都涉及哪些数据结构?4、select和epoll的区别?5、fork()都会做哪些复制?6、什么是写时拷贝?Fork以后,父进程打开的文件指针位置在子进程里面是否一样?7、你项目中为什么使用进程池?而不是用线程池?不同场景怎么选择请列举一些例子!8、tcp/ip的...原创 2019-08-27 15:39:42 · 884 阅读 · 2 评论