操作系统
Java技术博文
这个作者很懒,什么都没留下…
展开
-
临界区
临界区每个进程中访问临界资源的那段代码称为临界区(Critical Section)(临界资源是一次仅允许一个进程使用的共享资源。例如:打印机--每次只能打印一个文档)。每次只准许一个进程进入临界区,进入后不允许其他进程进入。不论是硬件临界资源,还是软件临界资源,多个进程必须互斥地对它进行访问。如果有多个线程试图同时访问临界区,那么在有一个线程进入后其他所有试图访问此临界区的线程将转载 2013-07-15 10:15:17 · 937 阅读 · 0 评论 -
进程同步机制及优缺点
1.信号量机制:一个信号量只能置一次初值,以后只能对之进行p操作或v操作。由此也可以看到,信号量机制必须有公共内存,不能用于分布式操作系统,这是它最大的弱点。2.自旋锁:旋锁是为了保护共享资源提出的一种锁机制。调用者申请的资源如果被占用,即自旋锁被已经被别的执行单元保持,则调用者一直循环在那里看是否该自旋锁的保持着已经释放了锁自旋锁是一种比较低级的保护数据结构和代码片段的原转载 2013-09-24 22:21:45 · 1255 阅读 · 0 评论 -
几种页面置换算法
地址映射过程中,若在页面中发现所要访问的页面不再内存中,则产生缺页中断。当发生缺页中断时操作系统必须在内存选择一个页面将其移出内存,以便为即将调入的页面让出空间。而用来选择淘汰哪一页的规则叫做页面置换算法。常见的置换算法有:1)最佳置换算法(OPT)(理想置换算法)这是一种理想情况下的页面置换算法,但实际上是不可能实现的。该算法的基本思想是:发生缺页时,有些页面在内存中,其中有一页将很快被转载 2013-10-13 09:33:48 · 842 阅读 · 0 评论 -
sendmessage和postmessage的区别
BOOL PostMessage( HWND hWnd, // handle of destination window UINT Msg, // message to post WPARAM wParam, // first转载 2013-10-16 10:40:24 · 887 阅读 · 0 评论 -
Critical Section,Mutex,Semaphore,Event区别
临界区(Critical Section) 保证在某一时刻只有一个线程能访问数据的简便办法。在任意时刻只允许一个线程对共享资源进行访问。如果有多个线程试图同时访问临界区,那么在有一个线程进入后其他所有试图访问此临界区的线程将被挂起,并一直持续到进入临界区的线程离开。临界区在被释放后,其他线程可以继续抢占,并以此达到用原子方式操作共享资源的目的。 临界区包含两个操作原语转载 2013-10-16 10:42:25 · 1055 阅读 · 0 评论 -
MFC中窗口收到WM_PAINT消息是如何处理的,什么情况下产生WM_PAINT消息
处理过程: (1)BeginPaint开始画,就是用白刷去掉原窗口 (2)GetClientPaint获得窗口显示区域和尺寸等信息并绘制 (3)EndPaint释放绘图句柄。 产生WM_PAINT消息: (1)第一次创建一个窗口时 (2)改变窗口大小时 (3)把窗口从另一个窗口背后移出时 (4)最大化或最小化窗口时转载 2013-10-16 11:33:00 · 2903 阅读 · 0 评论 -
使用异步过程调用(APC)实现模块注入
摘自:windows编程循序渐进 异步过程调用是一种能在特定线程环境中异步执行的系统机制。往线程APC队列添加APC,系统会产生一个软中断。在线程下一次被调度的时候,就会执行APC函数,APC有两种形式,由系统产生的APC称为内核模式APC,由应用程序产生的APC被称为用户模式APC。 每个线程都拥有自己的APC队列。应用程序可以使用函数把APC添加到指转载 2013-10-22 20:17:07 · 1090 阅读 · 0 评论 -
延迟过程调用/异步过程调用APC
延迟过程调用,即 DPC。 这是一种机制,当上层请求下来,由于过多的操作步骤,为了使系统性能更好,使用一个完成调用例程,告诉上层“我完成了”,这样就可以处理下面的请求了,而系统会把剩下得处理过程加入到一个叫做DPC的队列中,等系统有空时,再来调用。这就是--延迟过程调用。说白了,就是一种缓冲机制。 异步过程调用APC异步的概念和同步相对。当一个异步过程调用发出后,调转载 2013-10-22 20:16:15 · 1163 阅读 · 0 评论 -
延迟过程调用
延迟过程调用,即 DPC。 这是一种机制,当上层请求下来,由于过多的操作步骤,为了使系统性能更好,使用一个完成调用例程,告诉上层“我完成了”,这样就可以处理下面的请求了,而系统会把剩下得处理过程加入到一个叫做DPC的队列中,等系统有空时,再来调用。这就是--延迟过程调用。说白了,就是一种缓冲机制。 这是系统控制的。几乎每种现代操作系统都有这样的类似机制。延时过程调用的应用延转载 2013-10-22 19:50:31 · 1774 阅读 · 0 评论 -
弹出网页或不定时弹出网页的解决办法
启动时弹出对话框 1.系统启动时弹出对话框,通常是一些广告信息,例如欢迎访问某某网站等。 2.开机弹出网页,通常会弹出很多窗口,让你措手不及,恶毒一点的,可以重复弹出窗口直到死机。 解决办法:弹出对话框,打开注册表编辑器,找到 HKEY_LOCAL_MACHINESoftware\Microsoft\Windows\CurrentVersion\Winlogon 主键转载 2014-02-08 19:42:18 · 1255 阅读 · 0 评论 -
HOST文件的使用技巧
很多朋友在网上冲浪时,经常会遇到有些网页无论如何也打不开的情况,而在其它电脑中却又可以轻松地打开。出现这种情况,最大的可能就是你的IE浏览器中招了,而Hosts表文件往往是祸之源头。 一、什么是Hosts表文件 Hosts表文件是一个没有扩展名的文件,但是它属于文本文件格式的文件。你可以使用记事本程序对其进行编辑。Hosts表文件中存放的是一些常用的网站主机的域名和转载 2014-02-08 19:40:10 · 1513 阅读 · 0 评论 -
Press<F1>...<F12>missing operating system的解决办法
http://jingyan.baidu.com/article/6fb756ecada762241858fbfa.html此网址中给出了详细的步骤操作前需要先设置U盘启动盘,文中并没有说明,以下为补充按以下步骤操作:1.u盘启动盘详细图文教程http://www.udaxia.com/upanqidong/2.进入BIOS设置U盘启动顺序电脑启原创 2014-06-15 11:14:42 · 2439 阅读 · 0 评论 -
用命令实现Win7远程桌面关机和重启
关机 shutdown -s -t 0重启 shutdown -r -t 0 打开运行框(Win+R键),输入上述命令即可,后面的数字表示关机/重启延迟的时间at 12:00 shutdown -s在运行里输入这个然后敲回车他就会在12点种的时候关机 用法: shutdown [-i | -l | -s | -r | -a] [-f] [-m \computer转载 2014-06-02 10:37:28 · 1424 阅读 · 0 评论 -
理解Load-Average做好压力测试
SIP的第四期结束了,因为控制策略的丰富,早先的的压力测试结果已经无法反映在高并发和高压力下SIP的运行状况,因此需要重新作压力测试。跟在测试人员后面做了快一周的压力测试,压力测试的报告也正式出炉,本来也就算是告一段落,但第二天测试人员说要修改报告,由于这次作压力测试的同学是第一次作,有一个指标没有注意,因此需要修改几个测试结果。那个没有注意的指标就是load average,他和我一样开始只是注转载 2018-01-30 15:30:50 · 364 阅读 · 0 评论 -
操作数的寻址方式
在指令中,指定操作数或操作数存放位置的方式称为寻址方式。 1、立即数寻址将操作数作为指令的一部分写在指令中,这种操作数称为立即数,这种寻址方式称为立即数寻址。立即数可以是8位、16位或32位,数值紧跟在操作码之后。 例如:mov ah,80h ;8位mov ax,1234h转载 2013-10-07 22:42:54 · 8947 阅读 · 1 评论 -
DSP/BIOS中的线程
DSP/BIOS中的线程和电脑中的线程有很大区别。关于DSP/BIOS的详细介绍请参考TMS320 DSP/BIOS User's Guide。下面简单地介绍一下DSP/BIOS的线程。 为了让DSP能够同时处理多个任务,DSP/BIOS提供了如下几种类型的线程。 HWI(硬件中断),SWI(软件中断),TSK(任务),IDL(空闲线程)。转载 2013-10-07 16:46:11 · 1291 阅读 · 0 评论 -
句柄是什么?
1.句柄是什么? 在windows中,句柄是和对象一一对应的32位无符号整数值。对象可以映射到唯一的句柄,句柄也可以映射到唯一的对象。2.为什么我们需要句柄? 更准确地说,是windows需要句柄。windows需要向程序员提供必要地编程接口,在这些接口中,允许程序员访问、创建和销毁对象。但是,出于封装地考虑,windows并不想向程序员返回指针。指针包含了太多转载 2013-07-03 11:33:46 · 791 阅读 · 0 评论 -
C++中的句柄
所谓句柄实际上是一个数据,是一个Long (整长型)的数据。句柄是WONDOWS用来标识被应用程序所建立或使用的对象的唯一整数,WINDOWS使用各种各样的句柄标识诸如应用程序实例,窗口,控制,位图,GDI对象等等。WINDOWS句柄有点象C语言中的文件句柄。 从上面的定义中的我们可以看到,句柄是一个标识符,是拿来标识对象或者项目的,它就象我们的姓名一样,每个人都会有一个,不同的人的姓名不转载 2013-07-03 11:32:45 · 1618 阅读 · 0 评论 -
学习linux内核的经典书籍介绍
学习linux内核的经典书籍介绍 学习linux内核的经典书籍介绍 有关内核的书籍可以用汗牛充栋来形容,不过只有一些经典的神作经住了考验。首先是5本久经考验的神作(个人概括为“2+1+2”,第一个2是指2本全面讲解内核的书,中间的1指1本讲解驱动开发的书,后面的2则指2本有关内核具体子系统的书,你是否想到了某某广告里三个人突然站起单臂齐举高呼“1比转载 2013-08-26 11:59:46 · 863 阅读 · 0 评论 -
操作系统常见面试题
1.什么是进程(Process)和线程(Thread)?有何区别?进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享转载 2013-10-01 21:22:27 · 793 阅读 · 0 评论 -
Linux的五个查找命令
Linux的五个查找命令最近,我在学习Linux,下面是一些笔记。使用电脑的时候,经常需要查找文件。在Linux中,有很多方法可以做到这一点。国外网站LinuxHaxor总结了五条命令,你可以看看自己知道几条。大多数程序员,可能经常使用其中的2到3条,对这5条命令都很熟悉的人应该是不多的。1. findfind是最常见和最强大的查找命令,你可以用它找到任何你想找转载 2013-10-02 10:36:11 · 1334 阅读 · 0 评论 -
进程间通信方式
进程间通信方式普通PIPE 流PIPE 命名PIPE(FIFO) 消息队列 信号量 共享存储 UNIX流SOCKET UNIX数据包SOCKET转载 2013-10-02 16:06:58 · 618 阅读 · 0 评论 -
任务间通信机制
VxWorks支持各种任务间通信机制,提供了多样的任务间通信方式,主要有如下几种:? 共享内存,主要是数据的共享;? 信号量,用于基本的互斥和任务同步;? 消息队列和管道,单CPU的消息传送;? Socket和远程过程调用,用于网络间任务消息传送;? 二进制信号,用于异常处理。转载 2013-10-02 20:29:14 · 2006 阅读 · 0 评论 -
IO寄存器和传统内存对比
IO寄存器和传统内存对比 尽管硬件寄存器和内存之间有很强的相似性, 程序员在存取 I/O 寄存器的时候还是要格外小心,避免被CPU(或者编译器)优化所迷惑, 因为它可能修改你期待的 I/O 行为. I/O 寄存器和 RAM 一个主要的不同是:I/O 操作会带来副作用, 而内存操作没有。一个内存写操作的唯一效果是存储一个值到某个地址, 并且一个转载 2013-10-02 20:48:46 · 1433 阅读 · 0 评论 -
Windows的任务调度机制
Windows是一款微内核、抢占式多任务、软实时的操作系统。Windows的任务调度主要以线程为单位进行,线程拥有33个优先级,数值为0~32,其中0为最低优先级,32为最高优先级,最高和最低优先级均保留给系统使用。用户可以使用的优先级为1~31。 Windows按照优先级高低顺序来进行任务的调度,当调度发生时,内核首先检查高优先级的线程是否 就绪,如果有发现有高优先级的线程就绪则立刻将转载 2013-10-01 22:48:55 · 868 阅读 · 0 评论 -
第2章 存储系统
第2章 存储系统 内存按字节编址,地址从A4000H到CBFFFH,共有 (1) 字节。若用存储容量为32K×8bit的存储芯片构成该内存,至少需要 (2) 片。 (1)A.80K B.96K C.160K D.192k (2)A.2 B.5 C.8 D.10 3. 单个磁头在向盘片的磁性涂料层上写入数据时,是转载 2013-10-06 16:46:40 · 4336 阅读 · 0 评论 -
计算机系统结构试题(流水线,RISC,并行处理)
试题1 (2000年试题11)从供选择的答案中选出应填入下面叙述中的{ }内的正确答案,把编号写在答卷的对应栏内.现采用4级流水线结构分别完成一条指令的取指、指令译码和取数、运算以及送回运算结果4个基本操作,每步操作时间依次为60ns、100ns、50ns和70ns。该流水线的操作周期应为A ns。若有一小段程序需要用20条基本指令完成(这些指令完全适合于流水线上执行)则得到第一条指令结果转载 2013-10-06 20:37:31 · 4227 阅读 · 0 评论 -
网络字节序与主机字节序
最近在项目开发过程中,需要在采用JAVA作为语言的服务器与采用C++作为语言的服务器间进行通信,这就涉及到这两种语言间数据类型的转换以及网络字节序与主机字节序的区别。该文主要说说网络字节序和主机字节序的区别以及Little endian与Big endian的概念。其实编程的事就比较简单了 我也懒得写了,直接引用了我觉得写的挺好的两篇文章:什么是Big Endian和Little转载 2013-10-06 21:55:42 · 670 阅读 · 0 评论 -
ARM的字对齐问题总结
一、啥是字对齐?为啥要字对齐? 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问都可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特定的内存地址访问,这就是对齐。字节对齐的原因大致是如下两条:1、平台原因(移植原因):不是所有的硬件平台都能访问任意地址上的任意数据的;某些硬件平台只能在某些地址处取某些特定类型的数据,否转载 2013-10-06 22:01:40 · 639 阅读 · 0 评论 -
sleep和wait的区别
考中2次了,再错第三次,我改姓!天天笔试面试连轴转,查错的心情都没有!不能再笨下去了!from:http://nneverwei.javaeye.com/blog/494280http://zhidao.baidu.com/question/75503928.html?fr=ala0 1、这两个方法来自不同的类分别是,sleep来自Thread类,和wait来自Object类。转载 2013-10-08 11:58:33 · 660 阅读 · 0 评论 -
计算机系统漫游
不了解土壤的组成成分,就很难种出可口的蔬菜;不了解操作系统,也不太可能写出高效优雅的程序。我们先编写一段程序:#include<stdio.h>int main(){printf("hello world");}保存为hello.c,然后我们编译、链接生成可执行的目标程序。当我们执行这个目标程序时,控制台会输出“hello world”。想不想知道程序运行时...原创 2019-04-05 11:32:14 · 248 阅读 · 0 评论