操作系统原理
文章平均质量分 93
操作系统(英语:Operating System,缩写:OS)是一组主管并控制计算机操作、运用和运行硬件、软件资源和提供公共服务来组织用户交互的相互关联的系统软件程序。根据运行的环境,操作系统可以分为桌面操作系统,手机操作系统,服务器操作系统,嵌入式操作系统等。
swadian2008
不积跬步,无以至千里;不积小流,无以成江海
展开
-
操作系统18:磁盘I/O速度、磁盘可靠性、数据一致性
一个事务在对一批数据执行修改操作时,要么全部完成,并用修改后的数据去代替原来的数据,要么一个也不修改。事务操作所具有的这种特性,即事务的原子性(Atomic)。作为单个程序单元执行的一系列操作,并不是都可以成为事务,也就是说,如果定义其为事务,则必须同时满足四个属性,即事务属性 ACID。除了上述的原子性外,事务还应具备的属性是:一致性(Consistent),即事务在完成时,必须使所有的数据都保持一致状态隔离性(Isolated)原创 2023-07-26 11:50:24 · 2099 阅读 · 0 评论 -
操作系统17:外存组织方式和文件存储管理
索引组织方式的主要问题是,每当建立一个索引文件时,应为该文件分配一个索引块将分配给该文件的所有盘块号记录于其中。,称为第一级索引,即系统再分配一个索引块,作为第一级索引的索引块,将第一块、第二块、···.··等索引块的盘块号填入到此索引表中,这样便形成了两级索引分配方式。这种方法的优点是用于分配和回收一个盘块的过程非常简单,但在为一个文件分配盘块时,可能要重复操作多次,分配和回收的效率较低。这样,在为文件分配磁盘空间时,就无须知道盘块的大小,只要根据不同的磁盘容量,选择相应大小的簇,使 NTFS。原创 2023-07-14 13:21:08 · 3331 阅读 · 0 评论 -
操作系统16:文件共享和文件保护
下图中给出了两个保护域。当用户通过 D5 访问被链接的文件 F8,且正要读 LINK 类新文件时,此要求将被 OS 截获,OS 根据新文件中的路径名去找到文件 F8,然后对它进行读(写),这样就实现了对文件 F8 的共享。号,表示运行在 D1 域中的进程可以将其对文件 F3 的写访问权扩展到域 D3 中去,类似的,在域 D2 中对文件 F2 的读访问权也是一样。,即有多个属于不同用户的多个目录,同时指向同一个文件,虽会破坏树的特性,但这些用户可用对称的方式实现文件共享,而不必再通过其属主目录来访问。原创 2023-07-14 13:19:22 · 1571 阅读 · 2 评论 -
操作系统15:文件和文件目录
在对索引顺序文件进行检索时,首先也是利用关键字以及某种查找算法去检索索引表,找到该记录所在记录组中第一个记录的表项,从中得到该记录组第一个记录在主文件中的位置。但为了能实现文件存储空间的动态分配,通常由 Hash 函数所求得的并非是相应记录的地址,而是指向某一目录表相应表目的指针,该表目的内容指向相应记录所在的物理块,如下图所示。索引顺序文件是对顺序文件的一种改进,它基本上克服了变长记录的顺序文件不能随机访问,以及不便于记录的删除和插入的缺点,它是顺序文件和索引文件相结合的产物。单级文件目录如下图所示。原创 2023-07-13 09:53:34 · 2966 阅读 · 0 评论 -
操作系统14:缓冲区和磁盘调度算法
SCAN 算法既能获得较好的寻道性能,又能防止“饥饿”现象,但是当磁头刚从里向外移动而越过了某一磁道时,恰好又有一进程请求访问此磁道,这时,该进程必须等待,待磁头继续从里向外,然后再从外向里扫描完处于外面的所有要访问的磁道后,才处理该进程的请求,致使该进程的请求被大大地推迟。在设备输入时,先将数据送入第一缓冲区,装满后便转向第二缓冲区。如,用于指示下一个有数据的缓冲区 G 的指针 Nextg,指示下次可用的空缓冲区 R 的指针 Nexti,以及用于指示正在使用的缓冲区 C 的指针 Current。原创 2023-07-12 09:02:15 · 2383 阅读 · 0 评论 -
操作系统13:中断处理程序和设备驱动程序
当一个进程请求 I/O 操作时,该进程将被挂起,直到 I/O 设备完成 I/O 操作后,设备控制器便向 CPU 发送一个中断请求,CPU 响应后便转向中断处理程序,中断处理程序执行相应的处理,处理完后解除相应进程的阻塞状态。具体的 I/O 操作是在设备控制器的控制下进行的,因此,在设备忙于传送数据时,处理机又可以去干其它的事情,实现了处理机与 I/O 设备的并行操作。CPU 的绝大部分时间都处于等待 I/O 设备完成数据 I/O 的循环测试中,造成对 CPU 的极大浪费。原创 2023-07-11 11:13:03 · 5372 阅读 · 0 评论 -
操作系统12:I/O系统的功能、模型、接口及 I/O 设备和设备控制器
I/O 系统管理的主要对象是 I/O 设备和相应的设备控制器。其最主要的任务是,完成用户提出的 I/O 请求,提高 I/O 速率,以及提高设备的利用率,并能为更高层的进程方便地使用这些设备提供手段。原创 2023-07-10 11:01:59 · 3322 阅读 · 0 评论 -
操作系统11:虚拟存储器
一次性,是指作业必须一次性地全部装入内存后方能开始运行。驻留性,是指作业被装入内存后,整个作业都一直驻留在内存中,其中任何部分都不会被换出,直至作业运行结束。由此可以看出,上述的一次性及驻留性特征使得许多在程序运行中不用或暂时不用的程序占据了大量的内存空间,而一些需要运行的作业又无法装入运行,显然,这是在浪费宝贵的内存资源。所谓虚拟存储器,是指具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统。原创 2023-07-07 13:29:45 · 3669 阅读 · 0 评论 -
操作系统7:进程死锁
在系统中有许多不同类型的资源,其中可以引起死锁的主要是,采用互斥访问、不可以被抢占的资源,即临界资源。系统中这类资源有很多,如打印机、数据文件、队列、信号量等。在一组进程发生死锁的情况下,这组死锁进程中的每一个进程,都在等待另一个死锁进程所占有的资源。由于所有这些进程已都无法运行,因此它们谁也不能释放资源,致使没有任何一个进程可被唤醒。这样这组进程只能无限期地等待下去。所以,如果一组进程中的每一个进程都在等待仅由该组进程中的其它进程才能引发的事件,那么该组进程是死锁的(DeadLock)。原创 2023-07-05 16:28:47 · 604 阅读 · 0 评论 -
操作系统10:分页存储和分段存储
连续分配方式会形成许多“碎片”,虽然可通过“紧凑”方法将许多碎片拼接成可用的大块空间,但须为之付出很大开销。如果允许将一个进程直接分散地装入到许多不相邻接的分区中,便可充分地利用内存空间,而。基于这一思想而产生了离散分配方式。根据在时所,又可将离散分配分为以下三种:分页存储管理方式//程序分页,存储分块分段存储管理方式。原创 2023-07-06 09:32:37 · 6829 阅读 · 1 评论 -
操作系统9:存储管理之连续分配和对换
若大小为 2^(i+1) 的空闲分区也不存在,则需要查找大小为 2^(i+2) 的空闲分区,若找到则也对其进行两次分割:第一次,将其分割为大小为 2^(i+1) 的两个分区,一个用于分配,一个加入到大小为 2^(i+1) 的空闲分区链表中;,如回收大小为 2^i 的空闲分区时,若事先已存在 2i 的空闲分区,则应将其与伙伴分区合并为大小为 2^(i+1) 的空闲分区,若事先已存在 2^(i+1) 的空闲分区,又应继续与其伙伴分区合并为大小为 2^(i+2) 的空闲分区,依此类推。原创 2023-07-06 09:31:07 · 848 阅读 · 1 评论 -
操作系统8:存储器的层次结构及程序的装入和链接
在链接成一个装入模块后,原模块 B 和 C 在装入模块的起始地址不再是 0,而分别是 L 和 L+M,所以此时须修改模块 B 和 C 中的相对地址,即把原 B 中的所有相对地址都加上 L,把原 C 中所有相对地址都加上 L+M。由此可见,正确的方法应该是,将取数指中的地址 2500 修改成 12500,即把指令中的逻辑地址 2500 与本程序在内存中的起始地址 10000 相加才得到正确的物理地址 12500。或者说,存储器的速度必须非常快,能与处理机的速度相匹配,否则会明显地影响到处理机的运行。原创 2023-07-05 16:54:57 · 912 阅读 · 0 评论 -
操作系统4:进程通信类型和通信实现方式
进程通信是指进程之间的信息交换。由于进程的互斥与同步,需要在进程间交换一定的信息,所以它们也是一种进程通信,但只是一种低级的进程通信。//数据量少//过程繁琐在进程之间要传送大量数据时,应当利用 OS 提供的高级通信工具,该工具最主要的//数据量大//使用简单。原创 2023-06-29 15:32:50 · 3113 阅读 · 1 评论 -
操作系统3:进程同步和经典的进程同步问题
系统中的各种硬件资源和软件资源均可用数据结构抽象地描述其资源特性,即用少量信息和对该资源所执行的操作来表示该资源,而忽略它们的内部结构和实现细节。// 资源可以被抽象因此,可以利用共享数据结构抽象地表示系统中的共享资源,并且将对该共享数据结构实施的特定操作定义为一组过程。进程对共享资源的申请、释放和其它操作必须通过这组过程,间接地对共享数据结构实现操作。原创 2023-06-28 18:02:04 · 4381 阅读 · 0 评论 -
操作系统6:处理机的任务调度和进程调度
在多道程序系统中,调度的实质是一种资源分配,处理机调度是对处理机资源进行分配。处理机调度算法是指根据处理机分配策略所规定的处理机分配算法。// 资源分配。原创 2023-06-25 10:02:37 · 1373 阅读 · 0 评论 -
操作系统5:线程的概念和线程实现
而用户级线程在切换时则不须转入内核态,而是由运行时系统中的线程切换函数,来执行切换任务,该过程将线程的 CPU 状态保存在该线程的堆中,然后按照一定的算法,选择一个处于就绪状态的新线程运行,将新线程堆栈中的 CPU 状态装入到 CPU 相应的寄存器中,一旦将栈指针和程序计数器切换后,便开始了新线程的运行。对于用户的线程切换而言,其模式切换的开销较大,在同一个进程中,从一个线程切换到另一个线程时,需要从用户态转到内核态,因为用户进程的线程在用户态运行,而线程调度和管理是在内核实现的,系统开销较大。原创 2023-06-29 16:18:08 · 1132 阅读 · 0 评论 -
操作系统2:进程的描述与控制
前趋图(Precedence Graph),是指一个有向无循环图,可记为DAG(DirectedAcyclic Graph),它用于描述进程之间执行的先后顺序。// 描述工具注意,前趋图中是不允许有循环的,否则必然会产生不可能实现的前趋关系。如图 2-1(b) 所示的前趋关系中就存在着循环。它一方面要求在 S3 开始执行之前 S2 必须完成,另一方面又要求在 S2 开始执行之前,S3 必须完成。显然,这种关系是不可能实现的。// 前驱图不允许循环程序顺序执行。原创 2023-06-17 17:08:45 · 1210 阅读 · 0 评论 -
操作系统1:操作系统的基本特征和主要功能
操作系统是一组能有效地组织和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合。原创 2023-06-08 10:42:19 · 7266 阅读 · 0 评论