操作系统
唯pc远方
这个作者很懒,什么都没留下…
展开
-
32位和64位系统区别及int字节数
一)64位系统和32位有什么区别? 1、64bit CPU拥有更大的寻址能力,最大支持到16GB内存,而32bit只支持4G内存 2、64位CPU一次可提取64位数据,比32位提高了一倍,理论上性能会提升1倍。但这是建立在64bit操作系统,64bit软件的基础上的。 什么是64位处理器? 之所以叫做“64位处理器”,是因为电脑内部都是实行2进制运算,处理器(CPU)一次处转载 2015-08-11 18:42:54 · 372 阅读 · 0 评论 -
实模式和保护模式区别及寻址方式
实模式和保护模式区别及寻址方式 转载请注明出处:http://blog.csdn.net/rosetta 64KB-4GB-64TB? 我记得大学的汇编课程、组成原理课里老师讲过实模式和保护模式的区别,在很多书本上也有谈及,无奈本人理解和感悟能力实在太差,在很长一段时间里都没真正的明白它们的内含,更别说为什么实模式下最大寻址空间为1MB?段的最大长度不超过64KB?而保护模式下为转载 2015-09-07 10:55:22 · 1313 阅读 · 0 评论 -
同一进程中的线程究竟共享哪些资源
线程共享的环境包括:进程代码段、进程的公有数据(利用这些共享的数据,线程很容易的实现相互之间的通讯)、进程打开的文件描述符、信号的处理器、进程的当前目录和进程用户ID与进程组ID。 进程拥有这许多共性的同时,还拥有自己的个性。有了这些个性,线程才能实现并发性。这些个性包括: 1.线程ID 每个线程都有自己的线程ID,这个ID在本进程中是唯一的。转载 2015-09-07 22:49:32 · 399 阅读 · 0 评论 -
操作系统原理学习笔记--进程管理
操作系统原理学习笔记--进程管理 分类: 【OS】 2012-09-01 16:50 3964人阅读 评论(1) 收藏 举报 数据结构primitive存储算法io作业 进程管理 要转载 2015-07-23 14:56:44 · 616 阅读 · 0 评论 -
GDT、GDTR、LDT、LDTR的理解 [zz]
GDT是全局描述附表,主要存放操作系统和各任务公用的描述符,如公用的数据和代码段描述符、各任务的TSS描述符和LDT描述符。(TSS是任务状态段,存放各个任务私有运行状态信息描述符) LDT是局部描述符表,主要存放各个任务的私有描述符,如本任务的代码段描述符和数据段描述符等。 GDTR是一个长度为48bit的寄存器,内容为一个32位的基地址和一个16位的段限。其中32位的基址是指GDT在内存中转载 2015-08-27 19:26:14 · 813 阅读 · 0 评论 -
Linux的线程——轻进程
进程类似于人生:它们被产生,有或多或少有效的生命,可以产生一个或多个子进程,最终都要死亡。一个微小的差异是进程之间没有性别差异——每个进程都只有一个父亲。那么,操作系统有一个重要的概念——线程,在Linux上是怎么实现的呢?可以明确的告诉你,Linux并没有线程这个概念。呵呵,是不是Linux很落后呢,不是,恰恰相反,Linux提供了另一个概念——轻进程,其更具有扩展性,更伟大。 Linux转载 2015-08-26 23:24:22 · 1702 阅读 · 0 评论 -
进程退出
很多进程终止了他们本该执行的代码,从这种意义上说,他们已经“死”了。当这种情况发生时,必须通过内核以便内核释放进程所拥有的资源。 进程终止的一般方式是调用exit()库函数,该函数释放C函数库所分配的资源,执行编程者所注册的每个函数,并结束从系统回收进程所执行的那个系统调用。 内核可以有选择地强迫整个线程组死掉。这发生在以下两种典型情况下:当进程接收到一个不能处理或忽视的信号时,或转载 2015-08-26 23:31:02 · 420 阅读 · 0 评论 -
fork与vfock系统调用的区别
fork()与vfock()都是创建一个进程,那他们有什么区别呢?总结有以下三点区别: 1. fork():子进程拷贝父进程的数据段,代码段 vfork():子进程与父进程共享数据段 2. fork():父子进程的执行次序不确定 vfork保证子进程先运行,在调用exec或exit之前与父进程数据是共享的,在它调用exec或exit之后父进程才可能被调度运行。 3. vfor转载 2015-08-26 22:23:10 · 456 阅读 · 0 评论 -
核心态与用户态
究竟什么是用户态,什么是内核态,这两个基本概念以前一直理解得不是很清楚,根本原因个人觉得是在于因为大部分时候我们在写程序时关注的重点和着眼的角度放在了实现的功能和代码的逻辑性上,先看一个例子: 1)例子 C代码 1. voidtestfork(){ 2. if(0==fork()){ 3. printf(“createnewprocesssuccess!\n”);转载 2015-08-26 10:10:02 · 2025 阅读 · 0 评论 -
Linux高性能服务器编程——进程池和线程池
池的概念 由于服务器的硬件资源“充裕”,那么提高服务器性能的一个很直接的方法就是以空间换时间,即“浪费”服务器的硬件资源,以换取其运行效率。这就是池的概念。池是一组资源的集合,这组资源在服务器启动之初就完全被创建并初始化,这称为静态资源分配。当服务器进入正是运行阶段,即开始处理客户请求的时候,如果它需要相关的资源,就可以直接从池中获取,无需动态分配。很显然,直接从池中取得所需资源比动态分配资转载 2015-08-26 09:12:44 · 510 阅读 · 0 评论 -
多线程还是多进程的选择及区别
鱼还是熊掌:浅谈多进程多线程的选择 关于多进程和多线程,教科书上最经典的一句话是“进程是资源分配的最小单位,线程是CPU调度的最小单位”,这句话应付考试基本上够了,但如果在工作中遇到类似的选择问题,那就没有这么简单了,选的不好,会让你深受其害。 经常在网络上看到有的XDJM问“多进程好还是多线程好?”、“Linux下用多进程还是多线程?”等等期望一劳永逸的问题,我只能说:没有转载 2015-08-25 21:16:30 · 426 阅读 · 0 评论 -
进程/线程同步的方式和机制,进程间通信
进程/线程同步的方式和机制,进程间通信 一、进程/线程间同步机制。 临界区、互斥区、事件、信号量四种方式 临界区(Critical Section)、互斥量(Mutex)、信号量(Semaphore)、事件(Event)的区别 1、临界区:通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。在任意时刻只允许一个线程对共享资源进行访问,如果有多个线程试图访问公共资转载 2015-09-19 09:32:56 · 538 阅读 · 0 评论