操作系统
OneCode2World
这个作者很懒,什么都没留下…
展开
-
操作系统的疑问--------有关磁盘与文件系统及系统启动的疑问????
有关磁盘与文件系统及系统启动的疑问:?????1.我们知道当我们装系统时,第一步所做的工作就是分区,我们通常把硬盘划分成4个分区。其中一个是活动分区。那么,当我们在DiskGenius 中点击,“分区”按钮的时候,分区工作就已经完成了,但是,我疑问的是:它具体做了哪些工作???生成了什么??? 向硬盘中写入了什么???生成了什么??分原创 2015-10-09 15:32:05 · 406 阅读 · 0 评论 -
内存分配2
内存分配的原理__进程分配内存有两种方式,分别由两个系统调用完成:brk和mmap(不考虑共享内存)。 2012-11-09 19:55:00| 分类: Linux系统编程|举报|字号 订阅 下载LOFTER客户端如何查看进程发生缺页中断的次转载 2015-06-15 09:50:50 · 357 阅读 · 0 评论 -
操作系统执行可执行程序时,内存是如何分配的?
面试知识点-- 操作系统执行可执行程序时,内存分配是怎样的?2013-09-20 21:49 2286人阅读 评论(0) 收藏 举报可执行程序的内存分布GNU编译器生成的目标文件默认格式为elf(executive linked file)格式,这是Linux系统所采用的可执行链接文件的通用文件格式。elf格式由若干个段(section)组成,由转载 2015-06-15 09:41:30 · 1642 阅读 · 0 评论 -
打开文件篇
Linux内核源码阅读之打开文件篇2010-06-29 15:00 3128人阅读 评论(0) 收藏 举报linux内核pathfile数据结构struct工作Linux中打开文件是通过open系统调用实现,其函数中调用了do_sys_open()函数完成打开功能,所以下面主要分析do_sys_open()函数,首先先看下open系统调用的入口函数,再具体看do_sys_ope转载 2015-06-15 10:29:50 · 372 阅读 · 0 评论 -
Linux内存分配函数5
Linux内核中常见内存分配函数 收藏人:raymoon_sure2014-05-16 | 阅:19 转:0| 来源大 中 小 | 分享腾讯空间新浪微博转载 2015-06-15 15:33:05 · 389 阅读 · 0 评论 -
内存分配函数详解
内存mmap实现原理 2011-01-28 13:57:24分类: LINUX内存mmap实现原理 谨以此文纪念过往的岁月。 结构体列表1. struct rb_node_s2 struct page3. struct vm_area_struct4. struct mm_struct函数列表do_mmapdo_mmap2转载 2015-06-15 10:26:40 · 561 阅读 · 0 评论 -
mmap()内存分配函数
读书笔记——Linux内核源代码情景分析——2.13 系统调用mmap() (2009-03-09 22:02:29)转载▼标签: 杂谈分类: 读书笔记一个进程可以通过系统调用mmap(),将一个已打开的文件的内容映射到它的用户空间,其用户界面为:mmap(void *start,size_t length,转载 2015-06-15 10:23:30 · 1833 阅读 · 0 评论 -
关于 内存分配函数的几点问题?
关于linux内存分配函数的几点有关问题更新时间:2014-05-15 07:25:34 | Author: root 关于Linux内存分配函数的几点问题最近看lkd,关于linux内存分配有几个问题,1)get_free_pages 结果是 “物理地址” ?2)kmalloc ,vmalloc的区别和联系 ?我的答案是我当前理解的kmal转载 2015-06-15 15:35:46 · 330 阅读 · 0 评论 -
内存映射
Linux内核源码阅读之内存映射篇2010-06-29 14:58 2412人阅读 评论(0) 收藏 举报linux内核filestructsecuritynull扩展Linux内核内存映射包括创建虚拟区间地址和改变映射区域的边界地址两部分。首先先来看创建虚拟区间地址部分,本部分代码主要在linux-2.6.33.2/mm下的mmap.c中,通过系统调用mmap可以访问来创建虚转载 2015-06-15 10:25:10 · 375 阅读 · 0 评论 -
Linux内存分配4
应用 Valgrind 发现 Linux 程序的内存问题如何定位应用程序开发中的内存问题,一直是 inux 应用程序开发中的瓶颈所在。有一款非常优秀的 linux 下开源的内存问题检测工具:valgrind,能够极大的帮助你解决上述问题。掌握 valgrind 的使用以及工作原理,能够有效地定位进而避免应用开发中的内存问题。5 评论:杨 经 (cdl转载 2015-06-15 15:29:02 · 348 阅读 · 0 评论 -
曹娥做系统是如何感知事件的???
我们知道,java中提供了事件机制,即:每一个动作,都产生一个事件。那么,操作系统是如何感知事件的呢???针对于一些问题:问题:1.“一般我们在开发窗体程序时,只需对按钮等绑定相应的操作事件监听,之后按钮就可以相应鼠标操作但我想知道的是,操作系统底层又是如何知道按钮被鼠标点击了呢?难道是操作系统对窗口中的任何元素都在毫秒级的监控着,比如监控按钮A,当发现按钮A上原创 2015-07-10 08:28:06 · 732 阅读 · 0 评论 -
程序时如何被链接和加载的???
运行 PE 可执行文件启动一个 PE 可执行程序的过程是相对简单的。 读入文件的第一页,其中有 DOS 头部,PE 头部和区段头部等。 确定地址空间的目标区域是否有效,如果不可用则另分配一块区域。 根据各区段头部的信息,将文件中的所有区段映射到地址空间的适当位置上。 如果文件并没有被加载到它的目标地址中,则进行重定位。 遍历导入区段中的 DLL 列表,将任何未加载原创 2015-06-08 14:47:42 · 712 阅读 · 0 评论 -
Windows系统了解:
读:《深入解析Windows操作系统-潘爱民》:对于其中几个部分的关键信息的摘录:内容概要:1. 进程2. 注册表3. 前章概要: 记住这句话: 操作系统的层次以及其他有关计算机有关的层次的理解: : “ 程序之间在物理上是平行的,不存在层次关系,它们都是存储在内存中的一段空间中,之所以会出现逻辑上的层次关系是: 各个原创 2015-06-08 12:55:31 · 698 阅读 · 0 评论 -
进程的组成部分:
进程的组成部分:1.进程有哪些组部分???2.一个计算机系统进程包括(或者说“拥有”)下列数据:那个程序的可运行机器码的一个在存储器的映像。 分配到的存储器(通常包括虚拟内存的一个区域)。存储器的内容包括可运行代码、特定于进程的数据(输入、输出)、调用堆栈、堆栈(用于保存运行时运数中途产生的数据)。 分配给该进程的资源的操作系统描述符,诸如文件描述符(Uni转载 2015-06-24 11:00:26 · 1838 阅读 · 3 评论 -
内存分配2
Linux内存管理摘要:本章首先以应用程序开发者的角度审视Linux的进程内存管理,在此基础上逐步深入到内核中讨论系统物理内存管理和内核内存的使用方法。力求从外到内、水到渠成地引导网友分析Linux的内存管理与使用。在本章最后,我们给出一个内存映射的实例,帮助网友们理解内核内存管理与用户内存管理之间的关系,希望大家最终能驾驭Linux内存管理。前言内存管理一向是所有操作系统书籍不惜笔墨转载 2015-06-15 10:15:16 · 569 阅读 · 0 评论 -
内存分配函数2
mmap 内核实现--do_mmap_pgoff 2011-06-10 23:36:30分类:一 do_mmap_pgoff函数1 入参检测首先把len 按照页面大小对齐。 这体现了mmap系统调用的都是以页面为单位分配的内存映射。如果 len = 0 或 len >TASK_SIZE 返回-ENOMEM;TASK_SIZE 是3G,也就说转载 2015-06-15 10:21:11 · 510 阅读 · 0 评论 -
Linux内存开辟
linux的内存开辟 2011-01-28 13:48:52分类: LINUX内存开辟谨以此文纪念过往的岁月。内存的分配和管理在linux的内核中是一个巨头。在此仅记录个人理解,如有错误请指正。1.kmalloc在内存开辟中kmalloc的使用概率很高,在通常的内存开辟中均会使用该函数来开辟内存。但是分配的区域仍然保持原有的数据,一般需要清零转载 2015-06-15 10:27:52 · 615 阅读 · 0 评论 -
一篇讲解端口的很不错的一篇文章-------------
那么TCP/IP协议中的端口指的是什么呢?如果把IP地址比作一间房子 ,端口就是出入这间房子的门。真正的房子只有几个门,但是一个IP地址的端口 可以有65536(即:256×256)个之多!端口是通过端口号来标记的,端口号只有整数,范围是从0到65535(256×256)。 在Internet上,各主机间通过TCP/IP协议发送和接收数据包,各个数据包根据其目的主机的ip地址来进转载 2015-08-04 10:47:23 · 528 阅读 · 0 评论 -
Linux是如何解析文件路径名的????
Linux虚拟文件系统--文件路径名的解析(3)--普通文件名 对于一个文件路径的分量,如果其不为'.'和'..'则属于普通文件名,普通文件名的解析由do_lookup()函数来处理[cpp] view plaincopystatic int do_lookup(struct nameidata *nd, struct qs转载 2015-07-21 11:33:29 · 683 阅读 · 0 评论 -
个人关于程序和系统方面知识的疑问--------:exe 、dll 、库、api 该咋理解???
下面是摘取的一些文段:1.Windows64位dll存放的位置 (2011-05-03 16:49:38)转载▼标签: dll 64位 it分类: 信息技术前两天社内考试,有一道题问的是32位和64位dll在windows64位系统中存放的位置。今天看了些资料,抽取了一部原创 2015-07-19 20:36:59 · 1093 阅读 · 0 评论 -
尚未解决的问题----到底什么是文件描述符???其本质是什么???
关于操作系统的疑问:1.尚未解决的问题----到底什么是文件描述符???其本质是什么???原创 2015-07-17 16:56:39 · 537 阅读 · 0 评论 -
文件描述符资料----15-7-17
文件描述符 文件描述标志 文件状态标志2012-08-21 16:33:11 分类: 系统运维文件描述符 File Descriptors文件描述标志 File Descriptors Flag文件状态标志 File Status Flag文件描述符是一个标示,非负整数,类似于windows里的句柄,为了与标准C保持一致(标准C里转载 2015-07-17 16:58:54 · 340 阅读 · 0 评论 -
文件描述符资料-------15--7-17:文件描述符和文文件对应
read:从文件描述符对应的文件中读取数据,调用成功后返回读出的字节数。这句话表明:文件描述符和文件对应linux下文件描述符的介绍 当某个程序打开文件时,操作系统返回相应的文件描述符,程序为了处理该文件必须引用此描述符。所谓的文件描述符是一个低级的正整数。最前面的三个文件描述符(0,1,2)分别与标准输入(st转载 2015-07-17 17:03:26 · 512 阅读 · 0 评论 -
如何生成DLL ???
c++中.dll与.lib文件的生成与使用的详解作者: 字体:[增加 减小] 类型:转载 本篇文章介绍了,在c++中.dll与.lib文件的生成与使用的详细介绍,需要的朋友参考下c++中.dll与.lib文件的生成与使用的详解-----------------------------------------------------------------转载 2015-08-09 21:42:56 · 577 阅读 · 0 评论 -
创建一个动态链接库 (DLL),使用VS2010
在本演练中,您将创建一个动态链接库 (DLL),其中包含可供其他应用程序使用的有用例程。使用 DLL 是一种重用代码的绝佳方式。您不必在自己创建的每个程序中重新实现这些例程,而只需对这些例程编写一次,然后从需要该功能的应用程序引用它们即可。本演练使用本机 C++。有关使用本机 C++ 创建静态库的演练,请参见 演练:创建和使用静态库。有关使用面向公共语言运行库的 Visual C++ 的演转载 2015-08-09 21:58:29 · 465 阅读 · 0 评论 -
动态连接库 DLL 解释
Windows 32位汇编语言程序设计教程 之动态链接库Windows 32位汇编语言程序设计教程 之动态链接库http://www.feiesoft.com/win32asm/win32asm-11-2.html第11章 动态链接库和钩子11.1 动态链接库(1)11.1.1 动态链接库的概念在DOS环境下编过程序的读者一定知道静态库的转载 2015-08-09 21:55:13 · 943 阅读 · 0 评论 -
TCP如何区分已连接套接字和已请求连接字
TCP如何区分监听套接字和已连接套接字分类: TCP/IP与套接字编程2010-10-09 10:39 962人阅读 评论(0) 收藏 举报tcp服务器wildcardfreebsdsocket2010转:http://book.51cto.com/art/201005/203019.htm2.10 TCP端口号与并发服务器并发服务器中主服务器循环通过派生一转载 2015-08-09 19:13:17 · 4296 阅读 · 1 评论 -
套接字疑惑------------套接字的数据结构是什么样子的???
套接字基础一、套接字与套接字接口套接字是应用程序访问系统网络服务的接口。端到端的通信通过一对套接字来实现,一个套接字对应一个通信端点。从实现来看,套接字是端端通信的抽象描述。在应用程序里,套接字对应一个整数值(套接字描述符);在内核里,套接字对应一个管理通信过程的对象(struct socket结构)。该结构与前面所说的整数值一一对应。在Linux系统内核中,struct转载 2015-08-09 17:17:13 · 1815 阅读 · 0 评论 -
Linux内核源码目录介绍
Linux内核源码目录介绍 2008-02-29 14:46:54分类: LINUX Linux的内核源代码可以从很多途径得到,我一般常常去kernel.org看看。一般来讲,在安装的linux系统下,usr/src/linux目录下的东西就是内核源代码。源码的版本号有一个非常简单的编号约定:任何偶数的核心(例如2.0.30)都是一个稳定地发行的核心,而任何转载 2015-06-15 15:39:47 · 643 阅读 · 0 评论 -
内存分配函数1
do_mmap_pgoff函数调用结果 2011-04-01 10:40:08分类: LINUXunsigned long addr1 = do_mmap_pgoff(NULL,0x1000,0x7000, PROT_WRITE,MAP_FIXED|MAP_PRIVATE,0);注意如果这个函数不映射文件(第一个参数为NULL),那么必须带有MAP_PR转载 2015-06-15 10:20:05 · 336 阅读 · 0 评论 -
编译程序和操作系统的关系
编译程序与操作系统的关系作者: keminlau 发布时间: 2010-08-31 16:49 阅读: 3255 次 推荐: 1 原文链接 [收藏] 和很多程序员一样,编译器到目前为止对我还存在一些让我迷惑的地方。比如编译器与操作系统的关系,编译器与CPU的关系,动态链接器从哪查找共享库等。让人困惑的原因有几,第一是编译器的功能角色特殊,编译器是生成程序的转载 2015-06-22 20:34:11 · 748 阅读 · 0 评论 -
系统调用和C库之间是什么关系?
系统调用和c库之间的关系 发布于2013-6-26 Tips: 用man查询函数时候有些并不能直接man + 函数名查到,例如:man fopen man 2 open所以可以用man+数字+函数名来试试,具体的内容可以查看 /usr/local/share/man/下面对应的目录Linux man 手转载 2015-06-03 07:48:19 · 1077 阅读 · 0 评论 -
进程的虚拟地址空间
进程的虚拟地址空间昨晚看到了深夜,终于对进程的虚拟地址空间有了个大致的了解,很激动,也很欣慰。回头想来,一个程序员,真的应该知道这些知识,否则还真不太称职。首先告诉大家,我后面提到的这些知识在《windows核心编程》中都有,强烈建议大家把这本书翻翻,我相信会对你的编程境界拔高好几个层次的。可是我最近没那么多时间,因此就只能了解个大概,然后等今后闲暇时再看这本书吧。昨天我媳妇还转载 2015-06-22 10:28:53 · 510 阅读 · 0 评论 -
信号量与PV操作
信号量与PV操作 2011-09-15 20:41:07分类: LINUX在计算机操作系统中,PV操作是进程管理中的难点。首先应弄清PV操作的含义:PV操作由P操作原语和V操作原语组成(原语是不可中断的过程),对信号量进行操作,具体定义如下: P(S):①将信号量S的值减1,即S=S-1; ②如果S³0,则该进程继续执行;否则该进程置为转载 2015-06-22 07:42:21 · 551 阅读 · 0 评论 -
OS中的P,V原语有哪些应用?
1.PV操作有哪些应用???2.PV操作为什么能用于这些应用???(1)实现共享变量的互斥访问若多个进程在同一个时段需要执行访问同 一变量的程序段,则该程序段为以 临界资源.此时可以 为该程序段设置一个为 这些进程共享的 锁变量s,此s即为一个信号量,可以看作锁标志(2)进程间同 步有时一组并发进程各自 的执行结果互为对方执行的 条件 如原创 2015-06-21 22:24:14 · 910 阅读 · 0 评论 -
操作系统如何把程序从磁盘加载到内存并创建进程的?
操作系统如何把程序从磁盘加载到内存并创建进程的?原创 2015-06-21 20:33:51 · 1779 阅读 · 0 评论 -
进程地址空间
1.什么叫做进程的地址空间???2.进程的地址空间有什么作用???3.进程的地址空间由谁决定???4.一个进程的大小是多少???原创 2015-06-22 10:18:17 · 408 阅读 · 0 评论 -
pv小总结
PV 小总结:进程间的直接制约是被制约进程和制约进程之间存在着使用对方资源的需求,只有制约进程执行后,被制约进程才能继续往前推进. 进程接的间接制约是被制约进程共享某个一次只能供一个进程使用的系统资源, 只有得到该资源的进程才能继续往前推进, 其它进程在获得资源进程执行期间不允许交叉进行解决进程间同步和互斥问题的方法很多,可以用硬件的方法也可以使用软件的原创 2015-06-22 07:29:00 · 369 阅读 · 0 评论 -
进程地址空间2
对进程地址空间的一点认识分类: Windows内存管理 2009-07-05 11:29 5970人阅读 评论(14) 收藏举报 数据结构任务windowsc磁盘null对进程地址空间的一点认识在进入正题前先来谈谈操作系统内存管理机制的发展历程,了解这些有利于我们更好的理解目前操作系统的内存管理机制。一 早期的内存分配机制在早期的计算机中,要运行转载 2015-06-22 10:40:26 · 362 阅读 · 0 评论 -
为什么pv操作能实现进程的互斥???
利用信号量和PV操作实现进程互斥的一般模型是:进程P1 进程P2 …… 进程Pn…… …… ……P(S); P(S); P(S);临界区;原创 2015-06-22 07:53:08 · 1271 阅读 · 0 评论