LINUX
文章平均质量分 63
pear_11
这个作者很懒,什么都没留下…
展开
-
Linux GDB调试
目录一、学习的知识点1.面试的问题1.1 基础问题:数组和链表的区别,进程间通信方式1.2 项目问题:如数据库怎么设计、遇到什么问题 如何解决1.3 扩展问题:如接入十万个客户端服务器还能运行嘛吗?2.数据包设计二、上课没有听懂或者没有理解的地方三、当天学习的收获一、学习的知识点1.面试的问题1.1 基础问题:数组和链表的区别,进程间通信方式1.2 项目问题:如数据库怎么设计、遇到什么问题 如何解决1.3 扩展问题:如接入十万个客户端服务器还能运行嘛吗?2.数据包设计有定长包和不定长包数据包原创 2021-04-11 17:55:35 · 94 阅读 · 0 评论 -
210314阶段三VS使用Linux 的sqlite3 API
目录一、学习的知识点1.聊天系统框架2.VS使用Linux sqlite3 API2.1 在项目->属性-> 链接器->命令行 处添加 -lsqlite32.2 在 项目->属性-> 链接器->输入 处添加 sqlite3 库依赖二、上课没有听懂或者没有理解的地方三、当天学习的收获一、学习的知识点1.聊天系统框架2.VS使用Linux sqlite3 API2.1 在项目->属性-> 链接器->命令行 处添加 -lsqlite32.原创 2021-03-15 19:02:16 · 300 阅读 · 1 评论 -
210312阶段三通过sqlite3源码安装sqlite3
目录一、学习的知识点1操作系统1.1PC1.2移动端2数据库2.1Linux下安装sqlite3处理器二、上课没有听懂或者没有理解的地方三、当天学习的收获一、学习的知识点1操作系统1.1PCwindows linux mac1.2移动端基于windows Wp wm 塞班基于Linux Android基于Mac iOS2数据库sqlite3 是数据库管理系统包含 数据库管理系统(DBMS)相当于仓管员 数据库文件(xxx.db)相当于仓库通过 DBMS操作文件A原创 2021-03-13 19:01:58 · 345 阅读 · 0 评论 -
210307共享内存的读写
目录一、学习的知识点systemVPOSIX(可移植操作系统接口)是一种标准共享内存的读写二、上课没有听懂或者没有理解的地方三、当天学习的收获一、学习的知识点systemVmsgget 消息队列semget 信号量 P-1 V+1 操作 基于内核 用于进程间同步shmget共享内存POSIX(可移植操作系统接口)是一种标准mq_open 消息队列sem_init sem_post sem_wait 信号量 基于内存 用于线程间同步pthread_mutex_init原创 2021-03-08 22:55:01 · 308 阅读 · 0 评论 -
210305设计共享内存
目录一、学习的知识点共享内存的设计共享内存 的头部信息共享内存的属性共享内存类共享内存类的构造函数二、上课没有听懂或者没有理解的地方三、当天学习的收获一、学习的知识点共享内存的作用:进程间传递数据数据量多时 起缓冲作用 应设计为先进先出共享内存的设计头部信息放到共享内存中 是为了方便 另一个进程 对 共享内存中数据的读写共享内存 的头部信息typedef struct shmhead{ int blkssize;//每块多大 int blocks;//一共有多少块 int w原创 2021-03-06 15:12:27 · 125 阅读 · 0 评论 -
020303阶段三 I/O复用 select和epoll的文件描述符管理
目录一、学习的知识点1 五种 I/O1.1 阻塞式I/O1.2 非阻塞式I/O1.3 I/O复用(select 和pool)1.3.1 select 文件描述符的管理select 缺点epoll1.4 信号驱动I/O1.5 异步I/O二、上课没有听懂或者没有理解的地方三、当天学习的收获一、学习的知识点man 2 属于系统调用read 系统调用 先到内核空间(操作系统层)取数据 ,存放到 buff(应用层 用户空间)1 五种 I/O1.1 阻塞式I/O通过read系统调用 到内核空间读取数据到用户原创 2021-03-04 14:20:07 · 320 阅读 · 1 评论 -
210228Linux 条件变量 线程池
目录一、学习的知识点实际应用把服务器分为两个进程1.前置服务器1.1方案1 来一个客户端开一个线程1.2方案2 线程池2.后置服务器二、上课没有听懂或者没有理解的地方三、当天学习的收获一、学习的知识点实际应用把服务器分为两个进程1.前置服务器接收客户端的消息 -》 写到共享内存发送消息给后置服务器 -》通知后置服务器取数据1.1方案1 来一个客户端开一个线程如果一个任务处理一个线程,一个线程处理完一个任务就结束,那么频繁接入任务就要频繁创建线程,比较耗时间.优点:简单粗暴、奢侈缺点:奢原创 2021-03-01 15:09:39 · 100 阅读 · 0 评论 -
210226阶段三 systemV信号量
目录一、学习的知识点服务器前置服务器(接入服务器)后置服务器(业务处理服务器)systemV信号量二、上课没有听懂或者没有理解的地方三、当天学习的收获一、学习的知识点线程属于POSIX线程互斥锁、信号量属于POSIX信号量 在进程内部使用systemV信号量: semget shmget 在进程间使用通过ipcs查看的都是systemV系列信号量都是对一个数字进行加一减一的操作,信号量为 0 时,若进行减一,则阻塞在此,systemV系列的P操作对信号量减1,V操作对信号量加1服务器原创 2021-02-27 13:56:10 · 185 阅读 · 0 评论 -
210224阶段三信号量、互斥锁
目录一、学习的知识点PCB和进程PCB包括进程线程进程和线程信号量和互斥锁应用场景二、上课没有听懂或者没有理解的地方三、当天学习的收获一、学习的知识点ls -a 显示隐藏文件cd ~ 回到home目录每个文件夹都有两个隐藏目录 一个是 ./ 一个是 …/ 加深了我对Linux 万物文件 的理解(普通文件、目录、设备、套接字)PCB和进程进程与进程控制块(PCB process control block)是一一对应的。系统为了管理进程设置的一个专门的数据结构,用它来记录进程的外部特征,描述原创 2021-02-25 22:05:20 · 163 阅读 · 0 评论 -
210221阶段三线程、信号量、互斥锁
目录一、学习的知识点程序如何运行起来CPU时间片轮转进程切换开销大吗线程线程函数库pthread_create函数线程同步信号量sem_init函数sem_wait函数sem_post函数互斥量生产者消费者模型生产者消费者二、上课没有听懂或者没有理解的地方三、当天学习的收获一、学习的知识点双击运行一个可执行文件时创建一个进程。向操作系统申请一个进程,对32位系统来说 一个进程内存最大占 4G 2^32把数据从硬盘 “拷贝/加载” 到进程的空间。数据从一个存储器/硬盘(慢) 到 另外一个存储器/原创 2021-02-21 20:46:06 · 83 阅读 · 0 评论 -
210108阶段三进程管理,多进程编程
目录一、学习的知识点多进程程序和进程的区别所有的操作系统都支持运行多任务进程控制块PCB多进程编程二、上课没有听懂或者没有理解的地方三、当天学习的收获一、学习的知识点多进程操作系统中有很多运行的程序 如office WPS qq。通过网络下载并安装得到.exe文件程序和进程的区别程序时静态的,以文件的形式存在程序是动态的,有生命周期操作系统由很多个进程组成每个进程要想运行起来,都要被操作系统管理,每个进程都有自己的进程编号PIDPID 保存了进程重要信息的结构体所有的操作系统都支原创 2021-01-09 10:55:04 · 254 阅读 · 0 评论 -
程序、进程、线程
目录程序空间分配进程内存分配程序和进程的区别程序运行成为进程的过程进程和线程线程进程和线程的区别参考材料程序空间分配站在高级语言的角度,根据APUE(Advanced Programming in the UNIX Environment UNIX环境高级编程),一个程序分为如下段:text:代码段,可执行指令的集合,在内存中被映射为只读,存放代码和常量data:初始化后数据的集合,存放在memory的可写空间内,存放已初始化的全局变量、静态变量、局部静态变量。bss:全局未初始化变量、静态未初原创 2021-02-26 00:00:37 · 109 阅读 · 0 评论 -
Linux umask 文件默认权限
一、umask是什么登录系统以后创建的一个文件会有一个默认权限。umask的作用就是设置用户创建文件或者目录的默认权限。umask设置的是权限的补码,我们常用的chmod设置的是文件权限码。一般在/etc/profile、home/.profile设置umask值二、umask的作用umask的作用是用来控制默认权限的。首先了解一下基本权限2.1Linux文件权限rwx文件可以查看文件内容(可读)可以修改文件(可写)可以吧文件启动为一个运行的程序(可执行)目录原创 2021-01-20 16:32:52 · 534 阅读 · 0 评论 -
201103阶段二linux gdb调试与ftp配置
调试gcc hello.c -o hello -ggdb hellob 2 //打断点r //运行n //单步调试Ctrl d //退出y //是原创 2020-11-04 18:54:44 · 90 阅读 · 0 评论 -
201101shell脚本
一个程序有多个源文件,编译时需要编译多次,把源程序封装成库,.so文件由多个.o文件构成目录一、学习的知识点二、上课没有听懂或者没有理解的地方三、当天学习的收获四、作业的思路、不会的地方一、学习的知识点##shellshell脚本以#!开头#!/bin/bash#-------#第一个sh脚本#作者:#-----echo_helloworldecho_'hello'echo_"world"二、上课没有听懂或者没有理解的地方三、当天学习的收获四、作业的思路、不会的地方原创 2020-11-03 18:47:45 · 93 阅读 · 0 评论 -
201029阶段二Linux动态库、makefile
目录一、学习的知识点二、上课没有听懂或者没有理解的地方三、当天学习的收获一、学习的知识点二、上课没有听懂或者没有理解的地方对动态库的链接还有些不懂三、当天学习的收获初步了解了动态库的创建和makefile...原创 2020-10-30 15:39:58 · 93 阅读 · 0 评论 -
Linux tar vi gcc 指令
原创 2020-10-28 18:07:30 · 98 阅读 · 0 评论 -
201024阶段二Linux
目录一、学习的知识点Linux搭载环境虚拟机安装系统安装熟悉系统的使用能够在系统上做一些简单的编程二、上课没有听懂或者没有理解的地方三、当天学习的收获四、作业的思路、不会的地方五、其他需要反馈的问题六、心得体会一、学习的知识点Linux操作系统 Qt sqlite3 ffmpegXMind8 思维导图Linux搭载环境虚拟机安装系统安装熟悉系统的使用查看目录 ls切换目录 cdtab 自动补全切换到管理员 sudo su创建文件夹 mkdir 目录创建多个目录 mkdir 目录原创 2020-10-26 00:01:33 · 99 阅读 · 0 评论