自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 sendfile零拷贝技术能提升多少性能

根据sendfile对服务端传输大文件是有很大改进的,而对于小文件(小于等于16K?),其性能提升并不明显。对于FTP服务器和文件服务器而言使用sendfile等零拷贝技术是有必要的,而其他用途可根据实际选择使用。

2023-03-16 10:47:02 250

原创 PintOS Lab1

PintOS操作系统Lab1

2022-09-09 22:37:16 815

原创 OS是文科。。。

OS考试前的笔记。。。

2022-06-17 13:47:50 108

原创 Unix环境高级编程之fork和vfork,exec函数族,wait和waitpid,exit和_exit

我之前一篇文章中写过fork与缓冲区的问题,写的主要是针对那个问题,今天就来讲一下常用的系统调用fork,exec,wait,exit,这几个系统调用关联性较强,一起介绍fork#include<unistd.h>#include<sys/types.h>pid_t fork(void); //子进程返回0,父进程返回子进程pidLinux下调用fork会创建一个子进程,这个子进程会接着执行父进程的代码,子进程独占一份内存空间,它会将父进程的所有可读写的段复制过来(比如

2022-05-01 01:05:34 286

原创 OS内存管理之页表结构(分层分页,哈希页表)

在前面介绍分页的文章中,采用了一个32位机分页的例子,即把虚拟地址p的前20位作为页码,在页表中查询对应帧码。维护一个进程的页表就需要4M内存空间,该空间应是连续(为了在O(1)时间内查找),但有时候内存碎片较多,并不想在内存中分配4M这么多的连续地址空间,所以可以采用分层页表的方式。分层页表继续使用32位系统做例子,为了不使用4M那么多的连续地址空间,可以把一个页表再进行分块,一个页表中有220个条目,我们把他拆成210块,那么每块就有210个条目,这些块就可以分配到不连续的内存空间中,为了能找到每一

2022-04-29 21:55:59 2213 1

原创 OS内存管理之TLB概述(转换表缓冲区)

上一篇文章讲了分页基本概念,我们获取虚拟地址p[31:0]之后,先将页码p[31:12]送入页表中查找对应物理帧基地址,查找时间是O(1)的,页表位于内存中,所以这需要一次内存访问。得到基地址后,将其与页偏移组合得到真实物理地址,这时再访问一次内存,采用这种方案,访问一个字节需要两次内存访问,我们都知道内存访问是流水线CPU中延迟最高的一个阶段,进行两次内存访问速度实在是太慢了!有什么办法可以优化呢。这里引出一项技术TLB(转换表缓冲区),TLB是高速内存,它每个条目由两部分组成:键和值,在这里键和值分别

2022-04-27 23:23:39 1024

原创 OS内存管理之分页

虚拟内存是操作系统内存管理的一个重要技术,设想在两个不同的进程中有两个变量,他们的地址相同,那么这两个变量的值是否是相同的呢,显然这是不同的,不信你可以在linux下运行如下代码(windows下是无法编译的)#include<sys/types.h>#include<sys/stat.h>#include<fcntl.h>#include<unistd.h>#include<sys/wait.h>#include<errno.h

2022-04-27 22:43:32 823

原创 fork与缓冲区问题

fork是unix下创建子进程的函数pid_t fork(void); //创建一个进程,父进程返回值为子进程pid,子进程返回值为0当我们运行如下代码时,#include<sys/types.h>#include<sys/stat.h>#include<fcntl.h>#include<unistd.h>#include<sys/wait.h>#include<errno.h>#include<stdio.

2022-04-24 14:17:28 371

转载 Apktool反编译后无法回编问题

转自https://zhidao.baidu.com/question/985380511600977699.html?qbl=relate_question_3回汇编时出现:F:\apktool>apktool b Hello Hello.apkException in thread “main” brut.androlib.AndrolibException: brut.directory.PathNotExist: apktool.ymlat brut.androlib.Androli

2021-08-23 12:11:28 1990

原创 c语言计算行列式

大一刚学了c和线性代数,尝试一下写个行列式求值程序#include<stdio.h> #include<math.h> int main(){ int det(int b[][10],int x); //定义求行列式函数 int a[10][10]; //定义一个固定数组 int n,i=0,j=0,l; printf("输入行列式阶数\n"); scanf("%d",&n); printf("输入行列式元素空格隔开\n") for(i=0;i<n;i+

2020-10-16 23:01:26 5669 4

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除