linux
Kobe51920
这个作者很懒,什么都没留下…
展开
-
liunx:复习大纲(内核同步&磁盘调度&服务器端编程技术和框架&源码分析)
九.内核同步的概念及内核同步的方法https://blog.csdn.net/miao_9/article/details/53055739十.磁盘io调用程序使用的调度方法https://www.cnblogs.com/kongzhongqijing/articles/5786002.html十一.liunx服务器端编程技术和框架1)分布式与集群的区别https://ww...原创 2020-01-18 22:35:17 · 187 阅读 · 0 评论 -
liunx:复习大纲(进程管理与调度)
八.进程管理与调度https://blog.csdn.net/Jochebed666/article/details/830492991)io密集型和处理器密集型进程根据任务所需要的cpu和io资源的量可以分为:CPU密集型任务: 主要是执行计算任务,响应时间很快,cpu一直在运行,这种任务cpu的利用率很高 IO密集型任务:主要是进行IO操作,执行IO操作的时间较长,这是cp...原创 2020-01-19 19:03:35 · 227 阅读 · 0 评论 -
liunx:复习大纲(网络)
五.网络1.网络基本概念ip地址:IP是Internet Protocol(网际互连协议)的缩写,是TCP/IP体系中的网络层协议。设计IP的目的是提高网络的可扩展性:一是解决互联网问题,实现大规模、异构网络的互联互通;二是分割顶层网络应用和底层网络技术之间的耦合关系,以利于两者的独立发展。根据端到端的设计原则,IP只为主机提供一种无连接、不可靠的、尽力而为的数据报传输服务。端口号...原创 2020-01-18 14:55:53 · 263 阅读 · 0 评论 -
linux:复习大纲(线程)
该文章仅作为自己复习使用,因该文章内容太多借鉴他人博客内容,实在不知道写成翻译还是装载好,所以就写成了原创,实在不知道怎么回事!!!Linux平台应用开发--线程1.线程概念:线程(英语:thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务2....原创 2020-01-16 22:23:41 · 265 阅读 · 0 评论 -
linux:复习大纲(进程间的通信)
Linux平台应用开发--进程间通方式1.管道:1)有名管道与无名管道的区别:有名管道:任何进程之间无名管道:父子进程之间写入管道数据在内存存放 管道是一种半双工通信方式 内核实现方式关于管道更多请看我之前的博客:https://blog.csdn.net/Kobe51920/article/details/1032293202.信号量:1)信号量的概念...原创 2020-01-18 14:43:32 · 294 阅读 · 0 评论 -
liunx:复习大纲(进程)
该文章作为复习使用,其中有部分就直接使用了自己之前的博客或者他人博客,但都会表明来自何方!!!二.Linux平台应用开发基础--进程1.程序编译连接过程,及各阶段所完成的功能预编译主要是做一些代码文本的替换工作。(该替换是一个递归逐层展开的过程。)(1)将所有的#define删除,并展开所有的宏定义(2)处理所有的条件预编译指令,如:#if #ifdef #elif #el...原创 2020-01-16 17:12:02 · 357 阅读 · 0 评论 -
linux:复习大纲(命令)
转载地址:https://www.runoob.com/cprogramming/c-function-qsort.html一.命令的种类有很多种,这就介绍其中的一两种,之后会介绍更多1).文件操作命令touch:修改-a:改变档案的读取时间-m:改变档案的修改时间.......实例使用指令"touch"修改文件"testfile"的时间属性为当前系统时间,输入如下命...转载 2020-01-15 15:35:19 · 1069 阅读 · 0 评论 -
linux:复习大纲(内存)
七.关于内存部分扩展探讨1.逻辑地址 线性地址(虚拟地址)物理地址逻辑地址(Logical Address) 是指由程式产生的和段相关的偏移地址部分。例如,你在进行C语言指针编程中,能读取指针变量本身值(&操作),实际上这个值就是逻辑地址,他是相对于你当前进程数据段的地址,不和绝对物理地址相干。只有在Intel实模式下,逻辑地址才和物理地址相等(因为实模式没有分段或分页机制,Cpu...原创 2020-01-18 22:33:05 · 184 阅读 · 0 评论 -
linux:26IO复用poll&epoll
**1.poll:**int poll(struct pollfd *fds, nfds_t nfds, int timeout);struct pollfd{int fd; —用户关注的文件描述符short events;—用户关注的事件short reverts;—由内核修改,表示发生了哪些事件}nfds :数组的长度,元素个数,用户关注的文件描述符个数timeou...原创 2019-11-03 20:42:02 · 110 阅读 · 0 评论 -
linux:25IO复用-select
Linux下的五种IO模型阻塞IO(blocking IO) 非阻塞IO (nonblocking IO) IO复用(select 和poll) (IO multiplexing) 信号驱动IO (signal driven IO (SIGIO)) 异步IO (asynchronous IO (the POSIX aio_functions))前四种都是同步,只有最后一种才是异步IO...原创 2019-11-02 21:33:27 · 144 阅读 · 0 评论 -
linux:23多进程&多线程
1.多进程:启动多个进程,每个进程执行和一个客户端交互的程序accept()创建子进程,由子进程和客户端通讯,父进程继续接受客户端连接 启动多个进程,每个进程执行和一个客户端交互的程序 父进程完成与客户端的连接工作,完成后,创建子进程,子进程与客户端具体交互 子进程继承父进程打开的文件描述符(accept返回的文件描述符) 父进程必须关闭文件描述符代码实现:#include...原创 2019-12-24 18:38:37 · 188 阅读 · 0 评论 -
liunx:shell编程(1)
shell作用:简单,快速的完成编程shell:是一个作为用户与linux系统间接口的程序,它允许用户向操作系统输入需要执行的命令(1)创建脚本#!/bin/sh//#!字符告诉系统同一行上紧跟在它后面的那个参数是用来执行本文件的程序。 /bin/sh是默认的shell程序# first//文件名,注释加#号for file in *do if grep -q POSIX ...原创 2019-12-23 17:02:14 · 145 阅读 · 0 评论 -
linux:19网络socket
1、网络中进程之间如何通信? 消息传递(管道、FIFO、消息队列) 同步(互斥量、条件变量、读写锁、文件和写记录锁、信号量) 共享内存(匿名的和具名的) 远程过程调用(Solaris门和Sun RPC) 2、什么是Socket?socket一词的起源在组网领域的首次使用是在1970年2月12日发布的文献IETF RFC33中发现的,撰写者...转载 2020-01-18 14:39:45 · 343 阅读 · 0 评论 -
linux:18多线程
问题1.一个进程可以创建多少个线程下面程序介绍了这个问题,我们简单的分析下#include <stdio.h>#include <assert.h>#include <string.h>#include <stdlib.h>#include <unistd.h>#include <pthread.h>void...原创 2019-12-03 14:24:12 · 269 阅读 · 0 评论 -
linux:17线程的同步
1.互斥锁含义:用于保护临界区,确保同一时间只有一个线程访问数据。对共享资源的访问,先对互斥量进行加锁,如果互斥量已经上锁,调用线程会阻塞,直到互斥量被解锁。在完成了对共享资源的访问后,要对互斥量进行解锁。互斥锁特点:初始化锁:#include <pthread.h>int pthread_mutex_init(pthread_mutex_t *restrict mutex,...原创 2019-12-02 20:25:37 · 213 阅读 · 0 评论 -
linux:16线程并发
1.什么是线程线程(thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。2.线程的作用引入进程线程是为了更好的实现并发。 进程是最小的资源分配单位,线程是最小的活动执行单元。 每个进程都默认自己有4G的独立空间,进程的切换过于耗费系统资源。...原创 2019-11-30 16:59:10 · 453 阅读 · 0 评论 -
linux:15共享内存
1.共享内存(1)关于进程间的用到的两个命令:1.ipcs命令ipcs -s 信号量ipcs -m 共享内存ipcs -q 消息队列2.ipcrm命令ipcrm -s id:删除信号量ipcrm -m id:删除共享内存ipcrm -q id:删除消息队列(2)共享内存工作原理3.2.消息队列...原创 2019-11-27 17:13:27 · 190 阅读 · 0 评论 -
linux:14信号量
1.信号量的概念作用:同步进程概念:相当于某个资源(硬件资源或者软件资源),特殊的变量,只能取正数值操作:p操作:减一,获取资源,阻塞v操作:加一,释放资源,从不会阻塞对值的改变称为原子操作0,1二值信号量a.c//同步#include<stdio.h>#include<stdlib.h>#include<unistd.h>#inc...原创 2019-11-26 17:32:26 · 257 阅读 · 1 评论 -
linux:13进程间的通信—管道
1.管道的分类:有名管道:(在磁盘上会存在一个管道文件标识,但是管道文件不占用磁盘block空间,数据会缓存在内存上),任意两个进程之间都可以无名管道:父子进程之间使用。//创建一个管道文件:mkfifo fifo#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include ...原创 2019-11-25 18:25:25 · 133 阅读 · 0 评论 -
linux:10信号底层实现机制进程替换
1.异步执行:两个以上的进程或线程,执行互不影响,同时向下执行,当某个时刻,一个进程或线程会通过系统机制通知其他进程或线程。(非阻塞状态)2.同步执行:一个进程或线程的执行需要依赖其他的进程或线程执行的条件(阻塞状态)3.阻塞:条件未准备好,进程在这停下,一直等着4.非阻塞:条件准备好,进程在这没停下。2.信号的发送1.函数:int kill(pid_t pid,int sigtyp...原创 2019-12-17 18:01:50 · 285 阅读 · 0 评论 -
linux:09写时拷贝&父子进程文件共享&信号使用
1.写时拷贝注:32.64位:ALU的宽度,cpu的处理能力(一次处理数据的宽度)1.malloc函数仅仅是开辟虚拟空间名,真正开辟物理空间是在程序使用开辟地空间时。2.fork之后,子进程会拷贝父进程的pcb结构,然后会对pcb里面的数据修改。父进程的页表直接拷贝给子进程。父子进程共享所有的存储空间。(没有修改页表的内容)3.写时拷贝技术:fork之后并不会复制空间,而是任意一个进程试图...原创 2019-11-23 14:36:45 · 279 阅读 · 0 评论 -
linux:08进程的创建fork地址映射
1.进程的创建(1)函数pid_t fork(void);属性:系统调用函数(2).fork函数fork出错 返回-1,fork函数调用一次,返回两次。fork之后,父子进程就是两个独立的进程,谁先运行,操作系统决定(3)子进程与父进程在原来的进程中返回新进程pid(不可能等于0),在新进程中返回0新进程继承原来的数据,程序计数器:新进程从fork之后开始运行子进程:新进程...原创 2019-11-19 16:20:12 · 168 阅读 · 0 评论 -
linux:06进程管理&进程加载
1.进程管理1.进程的概念(1)进程是一组有序指令+数据+资源的集合(2)进程是运行中的程序2.操作系统中怎样管理进程?通过pcb(进程控制块)记录进程的相关属性(pid,ppid,优先级,程序计数器,程序上下文等)程序计数器:记录当前指令的下一行地址程序上下文:中间计数器上的数据放到程序上下文上3.抽象进程实体4.进程地结束与生成新生成时:必须先分配PCB结构,后才生成...原创 2019-11-19 13:39:23 · 142 阅读 · 0 评论 -
linux:05进程命令&用户命令
1.进程的管理命令1.进程:运行中的程序(执行时,将程序加载到内存上)程序:存储在磁盘上可执行的二进制文件动态的概念(过程):时间片轮转法:cpu的执行时间划分很小的时间片,每个进程在cpu上运行,一次只会分配一个时间片存放目录:/proc 虚拟目录,以进程为单位存储内存映射查看进程的状态:/proc/PID/status2.进程命令:1. 查看进程:ps -f :显示进...原创 2019-11-18 20:33:45 · 170 阅读 · 0 评论 -
linux: 04libevent库
1.作用:轻量级 网络io库,封装底层的select poll epoll。2.三步初始化libevent实例#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <string.h>#include <assert.h>#include ...原创 2019-11-17 23:05:10 · 119 阅读 · 0 评论 -
linux03-gdb&链接文件&库文件
编译$ gcc -o hello hello.c运行$ ./hello2.库文件3.静态库都以.a结尾。 /usr/lib/libc.aar:建立归档文件-c:阻止编译器创建一个完整的程序静态库创建于使用:4,访问数据库:-I-L:选项来告诉编译器在何处找到¥gcc -o 文件名 文件名.o -L. -Ifooldd:来查看一个程序所需要的共享库(ld...原创 2019-12-18 14:19:51 · 261 阅读 · 0 评论 -
linux02-文本编辑vi&编译连接原理
core文件调试:设置生成的core文件的大小( ulimit -c size)strace:跟踪打印系统调用ltrace:跟着库函数原创 2019-11-18 16:06:02 · 206 阅读 · 0 评论 -
linux01:文件管理命令
命令:右键打开终端1.文件类型:u g o rw- rw- r-- 属主权限 同组人权限 其他人权限 作用:显示文件详细信息type mode link user group size LCT name修改user: chown newuser filename修改group:chg...原创 2019-11-02 15:33:46 · 134 阅读 · 0 评论