
操作系统
文章平均质量分 61
kai8wei
这个作者很懒,什么都没留下…
展开
-
linux内存管理之malloc
对于内核的内存管理,像kmalloc,vmalloc,kmap,ioremap等比较熟悉。而对用户层的管理机制不是很熟悉,下面就从malloc的实现入手.( 这里不探讨linux系统调用的实现机制. ) ,参考了《深入理解计算机系统》和一些网上的资料.首先从http://ftp.gnu.org/gnu/glibc下载glibc库2.21,通常我们用的bsp或者sdk里面的工具链都是编译好的转载 2015-04-26 23:10:40 · 743 阅读 · 0 评论 -
linux系统调用和库函数调用的区别
1、系统调用系统调用提供的函数如open, close, read, write, ioctl等,需包含头文件unistd.h。以write为例:其函数原型为 size_t write(int fd, const void *buf, size_t nbytes),其操作对象为文件描述符或文件句柄fd(file descriptor),要想写一个文件,必须先以可写权限用open系统调用打开一个转载 2015-06-21 22:49:30 · 605 阅读 · 0 评论 -
页式内存管理
基本原理 1.等分内存 页式存储管理将内存空间划分成等长的若干区域,每个区域的大小一般取2的整数幂,称为一个物理页面有时称为块。内存的所有物理页面从0开始编号,称作物理页号。 2.逻辑地址 系统将程序的逻辑空间按照同样大小也划分成若干页面,称为逻辑页面也称为页。程序的各个逻辑页面从0开始依次编号,称作逻辑页号或相对页号。每个页面内从0开始编址,称为页内地址。转载 2015-06-11 18:53:06 · 1952 阅读 · 0 评论 -
C语言的内存区域(虚拟地址)探索
学习C语言对C语言的内存区域进行了探索首先我们知道:对于以下代码进行实验:/********************************************************************** * * Copyright (c)2015,WK Studios * * Filename: str.h * * Comp原创 2015-06-11 21:44:33 · 750 阅读 · 0 评论 -
浅谈操作系统进程的引出
进程的引出 之前的操作系统的程序是顺序执行的所以速度和吞吐量很慢,操作系统为了增加自己的系统的吞吐量就是单位时间处理的数据量而在多道程序系统中程序是不能独立运行的那就更不能和其他程序交替运行了,因为每个程序拥有的硬件上下文资源可能会一样,这样交替的执行就会导致程序的不可再现性,那莫为了实现在I/O请求程序运行的时候CPU不至于空闲而引出了让两个程序同时运行,因为现在的操作系统有可以实现原创 2016-01-17 13:47:09 · 580 阅读 · 0 评论 -
用C++模拟操作系统进程调度的几种算法
******************************************** *****1.******* 先来先服务算法 ********** *****2.******** 时间片轮转 ************ *****3.******** 短作业优先 ************ *****4.******** 优先级调度 ...原创 2015-11-30 23:52:39 · 12763 阅读 · 1 评论 -
我是一个线程
我是一个线程,我一出生就被编了个号: 0x3704,然后被领到一个昏暗的屋子里, 这里我发现了很多和我一模一样的同伴。 我身边的同伴0x6900待的时间比较长, 他带着沧桑的口气对我说: “我们线程的宿命就是处理包裹。把包裹处理完以后还得马上回到这里,否则可能永远回不来了。” 我一脸懵懂,包裹,什么包裹? “不要着急,马上你就会明白了, 我们这里是不养闲人的。” 果然转载 2016-04-07 20:35:41 · 489 阅读 · 0 评论