linux
PHONER'S NUHC
up,up,up!!!
展开
-
linux作业1
- 进入目录需要哪些权限, 在目录中执行增删查(cd, touch, ls, rm, mv等)改文件动作, 需要哪些权限.- 查找资料, 了解以下Linux下的重要目录/proc, /sys, /SElinux, /bin, /usr/lib, /usr/local, /var, /tmp- 查找资料, 了解以下重要命令. du, df, top, free, pstack, su, sudo...原创 2019-05-14 20:53:30 · 192 阅读 · 0 评论 -
linux-网络基础二
应用层一端发送时构造的数据, 在另一端能够正确的进行解析, 就是ok的. 这种约定, 就是 应用层协议负责程序之间的数据沟通自定制协议:结构化数据的传输序列化:将数据对象按照指定协议组织成为可持久化存储/数据传输的二进制数据串格式反序列化:二进制数据串按照指定的协议解析出数据对象HTTP协议(超文本传输协议)平时我们俗称的 “网址” 其实就是说的 URLURL:统一资源定位符u...原创 2019-09-04 20:22:42 · 386 阅读 · 1 评论 -
项目:图片存储系统(图片服务器)
图片存储系统项目描述:利用 HTTP 服务器,实现使用 url 对图片进行访问, 提供对图片的增删改查能力,同时搭配简单的页面辅助完成图片上传/展示利用 HTTP 服务器来为每个图片提供一个唯一访问的 url使用 Json 封装 http 请求,响应提供上传图片,查看图片信息/内容以及删除图片接口使用 lambda 表达式替换函数使用 md5 校验图片实现环境:Linux My...原创 2019-09-04 11:44:37 · 11495 阅读 · 3 评论 -
linux-网络编程套接字
linux-网络编程套接字网络通信是两端通信:其中一端叫客户端;另-端叫服务端通信双方中主动发起请求的这一方是客户端-必须知道服务端在哪里通信双方中被动接收请求的这一方是服务端-- 必须告诉客户端自己在哪里(通常都是一个固定地址)传输层有两个协议: TCP/UDP 需要用户告诉操作系统,到底传输层应该用哪个UDP (用户数据报协议) :无连接,不可靠,面向数据报传输性能高...原创 2019-08-25 19:36:06 · 446 阅读 · 1 评论 -
linux-网络基础一
linux-网络基础一网络划分网络的划分:局域网(1000) --> 城域网(10公里) --> 广域网所谓 “局域网” 和 “广域网” 只是一个相对的概念.IP地址IP地址:在网络中唯一标识一台主机—uint32 —无符号32位的整数在网络通信中的每一条数据中都应该包含有目的IP地址 +源IP地址IPV4: IP地址无符号32位的整数决定了IP地址的个数:不到43亿...原创 2019-08-25 17:46:49 · 627 阅读 · 1 评论 -
linux-多线程
linux-多线程1.linux 线程在一个程序里的一个执行路线就叫做线程(thread)。更准确的定义是:线程是“一个进程内部的控制序列”一切进程至少都有一个执行线程线程在进程内部运行,本质是在进程地址空间内运行在Linux系统中,在CPU眼中,看到的PCB都要比传统的进程更加轻量化透过进程虚拟地址空间,可以看到进程的大部分资源,将进程资源合理分配给每个执行流,就形成了线程执行流...原创 2019-08-19 12:30:43 · 163 阅读 · 1 评论 -
linux-线程(生产设消费者模型)
生产者消费者模型生产者消费者模型是通过一个容器来解决生产者和消费者的强耦合问题。123原则: 一个场所:阻塞队列 两种角色:生产者、消费者 三种关系:生产者之间是互斥关系 消费者之间是互斥关系 生产者消费者之间是互斥+同步关系#include <iostream>#include <queue>#include <pth...原创 2019-06-30 14:09:04 · 282 阅读 · 1 评论 -
Linux进程信号
Linux进程信号信号概念信号:是进程之间事件异步通知的一种方式 信号是一个软件中断,通知进程发生了某件事情,中断进程 当前操作,让进程去处理信号事件查看信号kill -l //查看系统定义的信号列表其中: [1-31]信号:非可靠信号(常规信号),易丢失事件,只注册一次,多次注册时会造成信号丢失 [31-64]信号:可靠信号(实时信号),不会丢失信号信...原创 2019-06-22 19:40:52 · 321 阅读 · 1 评论 -
linux进程间通信-IPC(管道)
1.匿名管道pipe2.命名管道mkfifo1.匿名管道pipe管道是半双工的,数据只能向一个方向流动;需要双方通信时,需要建立起两个管道;只能用于父子进程或者兄弟进程之间(具有亲缘关系的进程);单独构成一种独立的文件系统:管道对于管道两端的进程而言,就是一个文件,但它不是普通的文件,它不属于某种文件系统,而是自立门户,单独构成一种文件系统,并且只存在与内存中;数据的读出和写入:一...原创 2019-06-15 13:11:50 · 412 阅读 · 1 评论 -
(linux基础IO)编写简单的add/sub/mul/div函数,并打包成动/静态库,并分别使用
编写简单的add/sub/mul/div函数,并打包成动/静态库,并分别使用静态库(.a):在windows下后缀为(.lid),程序在编译链接的时候把库的代码链接到可执行文件里。程序运行的时候将不再需要静态库。动态库(.so):在windows下后缀为(.dll),程序在运行的时候才去链接动态库的代码,多个程序共享使用库的代码。一个与动态库链接的可执行文件仅仅包含它用到的函数入口地址的...原创 2019-06-09 18:01:02 · 1013 阅读 · 1 评论 -
linux基础IO
1. 练习open/read/write/close等文件相关系统调用接口,纵向对比fd与FILE结构体2. 对之前编写的自主shell进行修改,使其支持输入/输出/追加重定向3. 编写简单的add/sub/mul/div函数,并打包成动/静态库,并分别使用。1. 练习open/read/write/close等文件相关系统调用接口,纵向对比fd与FILE结构体#include<s...原创 2019-06-09 17:58:36 · 289 阅读 · 1 评论 -
minishell的重定向实现
minishell的重定向实现Linux重定向是指修改原来默认的一些东西,对原来系统命令的默认执行方式进行改变,比如说简单的我不想看到在显示器的输出而是希望输出到某一文件中就可以通过Linux重定向来进行这项工作,操作句柄为文件描述符,可以将文件描述符想象成两个指针,相当于指针所指的内容变了。常用到的两个输出重定向的符号">" 和 “>>”第一个是清空重定向,会先清空...原创 2019-06-09 00:45:59 · 295 阅读 · 1 评论 -
进程控制
1. 学习进程创建, 等待, 终止. 使用代码实现.2. 编写自主shell.3. 封装fork/wait等操作, 编写函数 process_create(pid_t* pid, void* func, void* arg), func回调函数就是子进程执行的入口函数, arg是传递给func回调函数的参数.4. 调研popen/system, 理解这两个函数和fork的区别.1. 学习...原创 2019-06-09 00:40:11 · 276 阅读 · 1 评论 -
linux进程概念
linux进程概念1. 调研进程的调度算法.2. 调研task_struct结构体, 理解结构体中的各个字段的含义.3.使用代码模拟实现僵尸进程, 孤儿进程的场景.1.进程的调度算法(1)时间片轮转调度算法(RR) : 给每个进程固定的执行时间,根据进程到达的先后顺序让进程在单位时间片内执行,执行完成后便调度下一个进程执行,时间片轮转调度不考虑进程等待时间和执行时间,属于抢占式调度。优...原创 2019-05-24 16:30:33 · 172 阅读 · 1 评论 -
linux常用工具
1 vim自行查找资料, 自行配置插件.2 自行查找资料, 调研除了vim, 还有哪些常用的牛逼的编辑器, 并能够横向对比编辑器之间的区别和优缺点.3 自行查找资料, 调研除了gcc, 还有哪些常用的牛逼的编译器(不限制编程语言, 不限制平台).4 为什么调试的时候需要编译选项中添加 -g. 同学们自行调研readelf命令.5 在Linux下实现进度条程序. 通过makefile进行编译...原创 2019-05-17 23:50:12 · 358 阅读 · 1 评论 -
linux-网络基础三
网络层负责地址管理与路由选择;在复杂网络通信环境中,为每一条数据选择一条合适路径进行传输;而选择路径是根据每一条数据中的目的端地址决定的并且路由选择也依托于良好的地址管理IP协议IP协议字段:4位协议版本:4位头部长度:以4字节为单位 20~608位服务类型: 4位TOS字段16位数据报长度:包括IP头在内,一个IP报文的长度—一个udp报文的最大数据段大小64k-2...原创 2019-09-05 20:09:30 · 393 阅读 · 1 评论