
操作系统
文章平均质量分 75
cany1000
码农。无所谓,像蜗牛一点一点爬。
展开
-
互斥锁Mutex和信号量
1、Mutex 互斥量/互斥锁Mutex本质上说就是一把锁,提供对资源的独占访问,所以Mutex的主要作用是用于互斥的访问共享资源。Mutex对象的值,只有0和1两个值。这两个值也分别代表了Mutex的两种状态。值为0,表示锁定状态,当前对象被锁定,用户进程/线程如果试图Lock临界资源,则进入排队等待。值为1,表示空闲状态,当前对象为空闲,用户进程/线程可以Lock临界资源,之后Mutex值减1...原创 2018-06-11 14:27:57 · 8199 阅读 · 1 评论 -
Windows SDK 7.1 or 7.0 with VS 2008?
Hello,Hi, there are some confusing instructions for building Chromium on Windows here:http://www.chromium.org/developers/how-tos/build-instructions-windowsIt looks like the ins转载 2017-02-22 10:29:06 · 3306 阅读 · 0 评论 -
文件管理-外存分配方式
1、外存分配方法---- 目前,常用的外存分配方法有连续分配、链接分配和索引分配三种。---- 通常,在一个系统中,仅采用其中的一种方法来为文件分配外存空间。文件的物理结构直接与外存分配方式有关。在采用不同的分配方式时,将形成不同的文件物理结构。例如,在采用连续分配方式时的文件物理结构是顺序式的文件结构,链接分配方式将形成链接式文件结构,而索引分配方式将形成索引式文件结构。2、原创 2016-09-06 10:30:04 · 5800 阅读 · 0 评论 -
中断技术
1、中断概述中断是指程序执行过程中,遇到急需处理的事件时,暂时中止CPU上现行程序的运行,转去执行相应的事件处理程序,等到处理完成后再返回原程序被中断处或调度其他程序执行的过程。2、中断源的分类从中断事件的性质和激活的手段来说,可以将中断分为强迫性中断和自愿性中断两大类。-- 强迫性中断事件不是正在运行的程序所期待的,而是由于某种事故或外部请求信息所引起的;-- 自愿性中断翻译 2016-06-09 10:41:02 · 1828 阅读 · 0 评论 -
进程间通信IPC
进程通信是指进程之间的信息交换。PV操作是低级通信方式(P操作和V操作,P表示申请,V表示释放)高级通信方式是指以较高的效率传输大量数据的通信方式。高级通信方法主要有以下三类:1)共享存储在通信的进程之间存在一块可直接访问的共享空间,通过对这片共享空间进行写/读操作实现进程之间的信息交换。在对共享空间进行写/读操作时,需要使用同步互斥工具(如P操作,V操作),对共享空间的写/读进行控制。共享存储又分为两种:低级方式的共享是基于数据结构的共享;高级方式则是基于存储区的共享。转载 2016-04-22 21:13:00 · 2961 阅读 · 0 评论 -
分段的共享和保护
1、共享段表-- 为了实现分段共享,可在系统中配置一张共享段表,所有各共享段都在共享段表中占有一表项。表项中记录了共享段的段号、段长、内存始址、存在位(是否已调入内存)等信息,并记录了共享此分段的每个进程的情况。其中各项说明如下:1)共享进程计数count。---- 非共享段仅为一个进程所需要。当进程不再需要该段时,可立即释放该段,并由系统回收该段所占用的内存空间。---- 共享段是为多个进程所需要的,当某进程不再需要而释放它时,系统并不回收该段所占用的内存区,仅当所有共享该段的进程全部不再需要翻译 2016-07-14 10:15:11 · 12011 阅读 · 1 评论 -
基本分段存储管理方式
1、分段存储管理方式的引入---- 引入分段存储管理方式,主要是为了满足用户和程序员的下述一系列需要:1)方便编程通常,用户把自己的作业按照逻辑关系划分为若干个段,每个段都是从0开始编址,并有自己的名字和长度。因此,希望要访问的逻辑地址是由段名(段号)和段内偏移量(段内地址)决定的。2)信息共享在实现对程序和数据的共享时,是以信息的逻辑单位为基础的。比如共享某个例程和函数,翻译 2016-06-30 08:29:25 · 8031 阅读 · 0 评论 -
内存分配策略和分配算法
----- 在为进程分配内存时,将涉及到3个问题:1)最小物理块数的确定;2)物理块的分配策略;3)物理块的分配算法。1、最小物理块数的确定-- 这里所说的最小物理块数,是指能保证进程正常运行所需的最小物理块数。-- 当系统为进程分配的物理块数小于此值时,进程将无法运行。-- 进程应获得的最少物理块数与计算机的硬件结构有关,取决于指令的格式、功能和寻址方式。2、物理块的分配翻译 2016-06-22 12:13:29 · 7205 阅读 · 0 评论 -
连续分配方式 -- 动态分区分配
------- 动态分区分配:是根据进程的实际需要,动态地为之分配内存空间。在实现可变分区分配时,将涉及到分区分配中所用的数据结构、分区分配算法和分区的分配和回收操作三个问题。1、分区分配中的数据结构---- 为了实现分区分配,系统中必须配置相应的数据结构,用来描述空闲分区和已分配分区的情况,为分配提供依据。常用的数据结构有以下两种形式:---- 空闲分区表在系统中设置一原创 2016-06-17 17:28:28 · 9814 阅读 · 5 评论 -
连续分配方式 --(单一连续/固定分区)
1、连续分配方式连续分配方式:为一个用户程序分配一个连续的内存空间。连续分配方式进一步分为:单一连续分配、固定分区分配、动态分区分配以及动态重定位分区分配。2、单一连续分配最简单的一种存储管理方式,但只能用于单用户、单任务的操作系统中。采用这种存储管理方式时,可把内存分为系统区和用户区两部分,系统区仅提供给OS使用,通常是放在内存的低址部分;用户区是指除系统区以外的全部内存翻译 2016-06-15 11:56:49 · 17907 阅读 · 1 评论 -
页面置换算法
---- 在进程运行过程中,若其所要访问的页面不在内存而需把它们调入内存,但内存中已无空闲空间时,为了保证该进程能正常运行,系统必须从内存中调出一页程序或数据到磁盘的对换区中。但应将哪个页面调出,需根据一定的算法来确定。---- 通常,把选择换出页面的算法称为页面置换算法(Page-Replacement Algorithms)。置换算法的好坏,将直接影响到系统的性能。---- 一个好翻译 2016-06-21 17:21:07 · 3199 阅读 · 0 评论 -
虚拟存储器的实现方法
---- 在虚拟存储器中,允许将一个作业分多次调入内存。如果采用连续分配方式时,应将作业装入一个连续的内存区域中。为此,需事先为它一次性地申请足够的内存空间,以便将整个作业先后分多次装入内存。这不仅会使相当一部分内存空间都处于暂时或“永久”的空闲状态,造成内存资源的严重浪费,而且也无法从逻辑上扩大内存容量。因此,虚拟存储器的实现,都毫无例外地建立在离散分配的存储管理方式的基础上。目翻译 2016-06-20 21:14:25 · 15679 阅读 · 0 评论 -
死锁和产生的原因
1、死锁死锁是指多个进程因竞争资源而造成的一种僵局(互相等待),若无外力作用,这些进程都将无法向前推进。2、死锁产生的原因---- 系统资源的竞争通常系统中拥有的不可剥夺资源,其数量不足以满足多个进程运行的需要,使得进程在运行过程中,会因争夺资源而陷入僵局,如磁带机、打印机等。只有对不可剥夺资源的竞争才可能产生死锁,对可剥夺资源的竞争是不会引起死锁的。---- 进程推进顺序非法进程在运行过程中,请求和释放资源的顺序不当,也同样会导致死锁。转载 2016-06-03 14:05:20 · 464 阅读 · 0 评论 -
mt.exe:general error c101008d(最终原因已查明)
该错误为: mt.exe : general error c101008d: Failed to write the updated manifest to the resource of file ".\Release\jiaoshi.exe". f其最终原因已查明见最后一部分上网找了一下,只有英文网页有相关讨论,懒得去翻译了。中文网页中倒是有一个,而且有解决办法,那就是在项转载 2017-02-22 16:29:19 · 3057 阅读 · 0 评论 -
系统结构中的中断
什么是中断?中断(Interrupt)是硬件和软件驱动事件,它使得CPU暂停当前的主程序,并转而去执行一个中断服务程序。当CPU与外设交换信息时,若用查询方式,则CPU就要浪费很多时间去等外设。这是快速的CPU与慢速的外设之间的矛盾,也是计算机发展过程中遇到的一个严重的问题之一,为了解决这个问题,一方面要提高外设的工作速度;另一方面引入了中断的概念。中断的分类在微机系统中,中断转载 2017-03-14 17:16:20 · 2555 阅读 · 0 评论 -
vnc配置和display操作(杂)
1、Android display屏幕操作1) 模拟轨迹球向x方向滑动100,y方向滑动300Inputroll 100 3002)单击触屏事件,模拟点击x=100,y=300位置Inputtap 100 3003) 触屏滑动事件,模拟滑动从x=100,y=300滑动到x=500,y=300的位置Inputswipe 100 300 500 3004) 实际向界面注原创 2017-10-16 17:29:58 · 5128 阅读 · 5 评论 -
sleep(),wait(),软链接和硬链接
1、wait()和sleep()sleep() 是Thread类中的方法,而wait()则是Object类中的方法。sleep()方法导致了程序暂停,但是它的监控状态仍然保持着,当指定的时间到了又会自动恢复运行状态。在调用sleep()方法的过程中,线程不会释放对象锁。wait()方法会导致线程放弃(释放)对象锁,进入等待此对象的等待锁定池,只有针对此对象调用notify()方法后本线程才进入对象...原创 2018-04-11 20:40:00 · 336 阅读 · 0 评论 -
缓冲管理
----- 为了缓和CPU与I/O设备之间速度不匹配的矛盾,提高CPU和I/O设备的并行性,在现代操作系统中,几乎所有的I/O设备在与处理机交换数据时都用了缓冲区。缓冲管理的主要职责是组织好这些缓冲区,并提供获得和释放缓冲区的手段。1、缓冲的引入---- 在设备管理中,引入缓冲区的主要原因可归结为以下几点:-- 1)缓和CPU与I/O设备间速度不匹配的矛盾。事实上,凡在数据到达速率原创 2016-07-14 15:17:59 · 2329 阅读 · 0 评论 -
分页存储 -- 地址变换机构
------ 为了能将用户地址空间中的逻辑地址变换为内存空间中的物理地址,在系统中必须设置地址变换机构。该机构的基本任务是:实现从逻辑地址到物理地址的转换。(页面大小和物理块大小相同)由于页内地址和物理地址是一一对应的(例如,对于页面大小是1KB的页内地址是0~1023,其相应的物理块内的地址也是0~1023)无需再进行转换,因此,地址变换机构的任务实际上只是将逻辑地址中的页号,转换为翻译 2016-06-19 13:58:44 · 15620 阅读 · 0 评论 -
逻辑地址空间和物理地址空间
1、程序经过编译后,每个目标模块都是从0号单元开始编址,称为该目标模块的相对地址(或逻辑地址)。2、当链接程序将各个模块链接成一个完整的可执行目标程序时,链接程序顺序依次按各个模块的相对地址构成统一的 从0号单元开始编址的逻辑地址空间。3、用户程序和程序员只需知道逻辑地址,而内存管理的具体机制则是完全透明的,它们只有系统编程人员才会涉及。4、不同进程可以有相同的逻辑地址,因转载 2016-05-16 14:35:06 · 16975 阅读 · 0 评论 -
内存覆盖和内存交换
覆盖和交换技术是在多道程序环境下用来扩充内存的两种方法。1)内存覆盖在早期的计算机系统中,主存容量很小。虽然主存中仅存放一道用户程序,但是存储空间放不下用户进程的现象也经常发生。这一矛盾可以用覆盖技术来解决。覆盖的基本思想是:------- 由于程序运行时并非任何时候都要访问程序及数据的各个部分(尤其是大程序), 因此可以把用户空间分成一个固定区和转载 2016-05-17 15:36:43 · 11800 阅读 · 2 评论 -
基本分页存储管理方式
1、离散分配方式---- 连续分配方式会形成许多“碎片”,虽然可通过“紧凑”方法将许多碎片拼接成可用的大块空间,但需为之付出很大开销。如果允许将一个进程直接分散的装入到许多不相邻接的分区中,则无需再进行“紧凑”。基于这一思想而产生了离散分配方式。---- 如果离散分配的基本单位是页,则称为分页存储管理方式;如果离散分配的基本单位是段,则称为分段存储管理方式。---- 在分页存储管理翻译 2016-06-18 17:47:56 · 12537 阅读 · 2 评论 -
分页存储管理中的页表项长度是什么?
看到很多人有疑问?读到这里的时候我也有疑问的。在操作系统的分页存储管理方式中,写道:将页表始址与页号和页表项长度的乘积相加,便得到该表项在页表中的位置,于是可从中得到该页的物理块号,将之装入物理地址寄存器中。列出式子出来: 页表始址+页号x页表项长度1)页表项长度是页面长度是吗?2)如果是页面长度,那两者相乘就是整个内存的大小来,你想一想整个内存都用来存储页表可能吗?当原创 2016-05-17 16:39:53 · 32108 阅读 · 19 评论 -
请求分页存储管理方式
----- 请求分页系统是建立在基本分页的基础上的,为了能支持虚拟存储器功能而增加了请求调页功能和页面置换功能。相应地,每次调入和换出的基本单位都是长度固定的页面,这使得请求分页系统在实现上要比请求分段系统简单(请求分段系统在换进和换出时是可变长度的段)。因此,请求分页便成为目前最常用的一种实现虚拟存储器的方式。请求分页中的硬件支持 --20160621 16:15-- 为了实现请翻译 2016-06-21 16:14:59 · 17092 阅读 · 0 评论 -
连续分配方式 -- 可重定位分区分配
连续分配方式,是指为一个用户程序分配一个连续的内存空间。----- 可重定位分区分配1、动态重定位的引入在连续分配方式中,必须把一个系统或用户程序装入一连续的内存空间。如果在系统中只有若干个小的分区,即使它们的容量总和大于要装入的程序,但由于这些分区不相邻接,也无法把该程序装入内存。原创 2016-06-18 15:21:17 · 17097 阅读 · 3 评论 -
通道控制方式
----- 虽然DMA方式比起中断方式来已经显著地减少了CPU的干预,即已由以字(节)为单位的干预减少到以数据块为单位的干预。但CPU每发出一条I/O指令,也只能去读/写一个连续的数据块。而当我们需要一次去读多个数据块且将它们分别传送到不同的内存区域,或者相反时,则需由CPU分别发出多条I/O指令及进行多次中断处理才能完成。1、通道控制方式的引入---- 通道控制方式与DMA控制方原创 2016-07-13 17:21:00 · 16162 阅读 · 2 评论 -
CPU模式
1、CPU模式也称CPU状态。通常将操作系统程序的运行状态称为内核态(或核心态、管态)。将用户程序的运行状态称为用户态(或目态)。这样做的目的是为了确保操作系统的正常执行,程序的执行空间分为内核空间和用户空间,各自按不同的权限运行。在逻辑上相互隔离,用户程序只能在用户空间中操作用户数据。许多操作系统采用硬件支持来区分各种执行模式。---- 当CPU处于内核态时,程序可以执行转载 2016-06-08 17:08:07 · 6634 阅读 · 0 评论 -
SPOOLing技术
---- 虚拟性是OS的四大特征之一。如果说可以通过多道程序技术将一台物理CPU虚拟为多台逻辑CPU,从而允许多个用户共享一台主机,那么通过SPOOLing技术便可将一台物理I/O设备虚拟为多台逻辑I/O设备,同样允许多个用户共享一台物理I/O设备。1、什么是SPOOLing为了缓和CPU的高速性与I/O设备低速性间的矛盾而引入了脱机输入、脱机输出技术。该技术是利用专门的外围控制机,将低速I/O设备上的数据传送到高速磁盘上;或者相反。原创 2016-07-11 21:16:11 · 14099 阅读 · 2 评论 -
文件操作
----- 用户通过文件系统所提供的系统调用实施对文件的操作。----- 最基本的文件操作有:创建文件、删除文件、读文件、写文件、截断文件和设置文件的读/写位置。但对于一个实际的OS,为了方便用户使用文件而提供了更多的对文件的操作,如打开和关闭一个文件及改变文件名等操作。1、最基本的文件操作-- 1)创建文件。在创建一个新文件时,系统首先要为新文件分配必要的外存空间,并在文件系原创 2016-07-15 14:25:03 · 1436 阅读 · 0 评论 -
文件类型和文件类型模型
1、文件类型---- 为了便于管理和控制文件而将文件分成若干种类型。由于不同系统对文件的管理方式不同,因而它们对文件的分类方法也有很大差异。为了方便系统和用户了解文件的类型,在许多OS中都把文件类型作为扩展名而缀在文件名的后面,在文件名和扩展名之间用“.”号隔开。下面是常用的几种文件分类方法。-- 1)按用途分类根据文件的性质和用途的不同,可将文件分为三类:----- 系统原创 2016-07-15 13:55:43 · 2000 阅读 · 0 评论 -
独占设备的分配程序
1、基本的设备分配程序---- 当某进程提出I/O请求后,系统的设备分配程序可按下述步骤进行设备分配:1)分配设备-- 首先根据I/O请求中的物理设备名,查找系统设备表(SDT),从中找出该设备的DCT(设备分配表),再根据DCT中的设备状态字段,可知该设备是否正忙。若忙,便将请求I/O进程的PCB挂在设备队列上;否则,便按照一定的算法来计算本次设备分配的安全性。如果不会导致系统原创 2016-07-09 15:54:51 · 6791 阅读 · 0 评论 -
设备驱动程序
----- 设备驱动程序通常又称为设备处理程序,它是I/O进程与设备控制器之间的通信程序,又由于它常以进程的形式存在,可简称之为设备驱动进程。其主要任务是接收上层软件发来的抽象I/O要求,如read或write命令,在把它转换为具体要求后,发送给设备控制器,启动设备去执行;此外,它也将从设备控制器发来的信号传送给上层软件。----- 由于驱动程序与硬件密切相关,故应为每一类设备配置一种原创 2016-07-11 10:59:38 · 10519 阅读 · 0 评论 -
设备独立性软件
1、设备独立性的概念---- 为了提高OS的可适应性和可扩展性,在现代OS中都毫无例外地实现了设备独立性(Device Independence),也称为设备无关性。---- 其基本含义是:应用程序独立于具体使用的物理设备。为了实现设备独立性而引入了逻辑设备和物理设备这两个概念。---- 在应用程序中,使用逻辑设备名称来请求使用某类设备;而系统在实际执行时,还必须使用物理设备名称。原创 2016-07-11 17:03:26 · 8655 阅读 · 2 评论 -
设备控制器
---- 设备控制器是计算机中的一个实体,其主要职责是控制一个或多个I/O设备,以实现I/O设备和计算机之间的数据交换。它是CPU与I/O设备之间的接口,它接收从CPU发来的命令,并去控制I/O设备工作,以使处理机从繁杂的设备控制事物中解脱出来。---- 设备控制器是一个可编址的设备,当它仅控制一个设备时,它只有一个唯一的设备地址;若控制器可连接多个设备时,则应含有多个设备地址,并使每翻译 2016-06-28 15:42:19 · 4568 阅读 · 1 评论 -
分布式系统和网络系统
1、区别是:透明性2、在一个分布式系统中,一组独立的计算机展现给用户的是一个统一的整体,就好象是一个系统似的。系统拥有多种通用的物理和逻辑资源,可以动态的分配任务,分散的物理和逻辑资源通过计算机网络实现信息交换。3、分布式系统和计算机网络系统的共同点是:----多数分布式系统是建立在计算机网络之上的,所以分布式系统与计算机网络在物理结构上是基本相同的。4、它们的区别在于:-翻译 2016-06-12 17:41:44 · 4264 阅读 · 0 评论 -
操作系统的体系结构
1、什么是操作系统的体系结构---- 从用户角度看,操作系统所体现的是它提供的各种各样的服务;---- 从程序员角度看,操作系统体现的是提供给用户的界面和接口;---- 从设计人员的角度看,操作系统是一大堆模块和它们之间的相互联系。这便是操作系统的体系结构。2、操作系统的构件---- 通常把组成操作系统的基本单位称为构件,基本的操作系统构件有内核、进程、线程和管程等。-翻译 2016-06-09 18:13:17 · 8351 阅读 · 0 评论 -
操作系统的基本类型
按照操作系统的功能特征可以将操作系统分为3种基本类型:批处理操作系统、分时操作系统和实时操作系统。1)批处理操作系统作业是用户在一次解题或一个事务处理过程中要求计算机系统所做工作的集合。包括用户程序、所需的数据及命令等。单道批处理操作系统是早期计算机系统中配置的一种操作系统类型,其工作流程大致如下:-- 用户将作业交给系统操作员--->-- 系统操作员将若干待处理的作业转载 2016-06-08 15:20:35 · 11059 阅读 · 0 评论 -
操作系统概述
1、在计算机上配置操作系统的目的有以下几点:----提供用户与计算机硬件系统之间的接口,使计算机系统更易于使用。----有效的控制和管理计算机系统中的各种硬件和软件资源,使之得到更有效的利用。----合理的组织计算机系统的工作流程,以改善系统性能。2、操作系统的基本特征----并发性并发性是指两个或多个事件在同一时间间隔内发生。在多道程序环境下,并发性是指宏观上在一段时转载 2016-06-08 11:43:15 · 486 阅读 · 0 评论 -
进程的状态与转换
进程在其生命周期内,由于系统中各进程之间的相互制约关系及系统的运行环境的变化,使得进程的状态也在不断的发生变化,即一个进程会经历若干种不同的状态。通常进程有以下五种状态,前三种是进程的基本状态。1)运行状态进程正在处理机上运行。在单处理机环境下,每一时刻最多只有一个进程处于运行状态。2)就绪状态进程已处于准备运行的状态。即进程获得了除处理机之外的一切所需资源,一旦得到处转载 2016-04-22 15:40:40 · 2166 阅读 · 0 评论 -
进程的概念和特征
1、进程的概念在多道程序环境下,允许多个程序并发执行,它们失去封闭性,并具有间断性和不可再现的特征。为此引入了进程,来更好的描述和控制程序的并发执行,实现操作系统的并发性和共享性。为了使参与并发执行的程序能独立的运行,为之配置一个专门的数据结构,称为进程控制快(Process Control Block,PCB)。系统利用PCB来描述进程的基本情况和运行状态,进而控制和管理进程。转载 2016-04-22 14:27:44 · 8809 阅读 · 0 评论