
linux
文章平均质量分 77
linux
又是这货
这个作者很懒,什么都没留下…
展开
-
作业---
1.一进程刚获得三个主存块的使用权,若该进程访问页面的次序是{1321215123},采用LRU算法时,缺页数是次。缺页中断就是要访问的页不在主存,需要操作系统将其调入主存后再进行访问。2.LRU算法(最近最久未使用和最少使用):当要调入一页而必须淘汰旧页时,将最近最少使用的置换出去缺页中断次数=进程的物理块数+页面置换次数总共进行了两次页面置换,所以缺页数=3+2=5,缺页率为5/10=0.5;可重入函数不可以调用不可重入函数信号量可以描述并且管理一个资源的数量,提供wait/post的接口原创 2022-07-12 14:10:06 · 632 阅读 · 0 评论 -
作业---
1.一进程刚获得三个主存块的使用权,若该进程访问页面的次序是{1321215123},采用LRU算法时,缺页数是次。缺页中断就是要访问的页不在主存,需要操作系统将其调入主存后再进行访问。2.LRU算法(最近最久未使用和最少使用):当要调入一页而必须淘汰旧页时,将最近最少使用的置换出去缺页中断次数=进程的物理块数+页面置换次数总共进行了两次页面置换,所以缺页数=3+2=5,缺页率为5/10=0.5;可重入函数不可以调用不可重入函数信号量可以描述并且管理一个资源的数量,提供wait/post的接口原创 2022-05-27 22:46:15 · 518 阅读 · 0 评论 -
web服务器
文章目录小型http服务器main.ccHttpServer.hppSock.hppLog.hppUtil.hppThreadPool.hppMakefileProtocol.hpp 协议小型http服务器main.cc本次使用短链接HttpServer.hppSock.hppLog.hppProtocol.hppUtil.hpp 工具类代码ThreadPool.hppwwwroot所有资源保存到web根目录gitee代码#include "HttpServer.hpp"#incl.原创 2022-04-13 20:41:15 · 1096 阅读 · 0 评论 -
epoll
文章目录epollepollmain.cc#include"EpollServer.hpp"void Usage(std::string proc){ cout <<"Usage :\n\t" << proc << " port"<<endl;}int main(int argc,char *argv[]){ if(argc != 2) { Usage(argv[0]); exit(0); } Epo.原创 2022-04-11 21:45:55 · 2710 阅读 · 1 评论 -
select poll
#include<stdio.h>#include<fcntl.h>#include<errno.h>#include<unistd.h>void SetNonBlock(int fd){ int f1 = fcntl(fd,F_GETFL); //获取文件描述符的属性,非阻塞读取 if(f1 < 0) { perror("fcntl error!\n"); return; } fcntl(fd,F_SET原创 2022-03-31 21:07:09 · 187 阅读 · 0 评论 -
环形队列 线程池
#pragma once #include<iostream>#include<vector>#include<unistd.h>#include<semaphore.h>#define NUM 10class RingQueue { private: std::vector<int> v; int max_cap; sem_t sem_blank;//生产者,有1个计数器 sem_t sem原创 2022-03-04 23:27:38 · 503 阅读 · 0 评论 -
多线程--你其实是没有原则的
文章目录unordered_setunordered_set进程:程序加载到内存;创建进程:1个执行流从无到有,申请很多资源,多个PCB对应1个控制块;每个task struct是1个执行流,进程:承担分配系统资源的基本实体,1个task_struct不是进程,1整套作业是进程线程:调度的基本单位,线程是进程里面的执行流。所有线程用的同一个地址空间线程:进程=n:1,n个执行流在Linux中,没有真正意义上的线程(Linux中没有针对线程专门的设计属于它的数据结构),线程是用进程模拟的。线程.原创 2022-03-01 19:38:26 · 701 阅读 · 0 评论 -
文件+通信
文章目录IOIOIO操作:往硬件上写内容当前目录:源文件所在目录、exe所在目录在默认的情况下,文件描述符都是从3开始的,但是一旦0,1,2其中一个被关闭,那么此时新打开的文件的文件描述符就会是0,1,2中被关闭的哪一个,其中关闭1(stdout)的时候,会发生重定向。O_TRUNC:每次都会把原先文件里面的内容清空,在输出,这是显示的清空文件选项;O_WRONLY| O_CREAT:隐式的清空,每次都会先创建这个文件,在写入int fd = open ("log.txt",O_CREAT|..原创 2021-12-30 21:56:19 · 873 阅读 · 1 评论 -
进程控制-
文章目录写时拷贝写时拷贝对于父子进程来说,代码是共享的,数据是各自私有的。(其中代码是共享的,是整个进程中的代码都是共享的(并不是fork之后才共享),但是有的时候由于if /if else/else 进行了分流,导致父子进程所执行了不同的代码块,但是其实在子进程中依旧是拥有父进程那一块的代码的,但不执行程序=代码(逻辑)+ 数据,代码存在内存中的代码段,被设置为了只读属性,父子进程都各自私有一份代码,OS内存空间的浪费(因为不能修改,看到的都是一样的内容,没有必要私有)数据私有(其实也是相对的..原创 2021-12-27 22:23:41 · 247 阅读 · 0 评论 -
进程状态环境变量地址空间
文章目录RS浅度休眠D深度睡眠T停止Z僵尸孤儿R#include<stdio.h>#include<unistd.h>#include<sys/types.h>int main(){while( 1){}}[s@VM-8-3-centos ~]$ ps aux | grep procs 10928 92.8 0.0 4212 352 pts/0 R+ 18:31 0:05 ./procs 10939 0.0 0.0 112816 ..原创 2021-12-25 22:31:22 · 362 阅读 · 0 评论 -
linux作业1
文章目录findfindfind . -name “*.c” -maxdepth 1 | xargs rm找到当前目录下.结尾的文件,目录深度为1, xargs是一个强有力的命令,它能够捕获一个命令的输出,然后传递给另外一个命令,用于很 多不支持|管道来传递参数的命令find . -name ".c" | xargs rm 会将子目录下的文件也会删除rm *.c *通配符,表示匹配任意字符任意次a$表示以a结尾; ^a表示以a起始...原创 2021-12-10 19:14:30 · 512 阅读 · 0 评论 -
命令---
liunx当中的命令本质上就是一个程序,在命令行当中输入命令,回车之后,本质上就是执行该程序的功能(代码)。命令行参数:命令行参数就是给命令的传参。让命令执行不同的功能。一切皆文件。Linux 内核(kerne1) :1.广义上的操作系统: shell+kernel+配套的软件(应用+驱动等)2.狭义上的操作系统:指的就是内核,纯的操作系统部分shell外壳:包裹在操作系统外层的软件层,方便用户和OS进行沟通she1l:接受用户的输入,交给OS执行,得到结果反馈给用户shell作用:a.交互 b原创 2021-11-28 21:27:50 · 384 阅读 · 0 评论