操作系统复习笔记 02-03 OS Structure 操作系统结构

02-03操作系统结构(OS_Structure)


[]陈述:
1.IO设备与CPU可并行运行。
2.每一个设备控制器负责一个设备类型。
3.每一个设备控制器有一个局部缓存。
4.CPU通过局部缓存与主存交换数据。
5.设备控制器通过引起中断通知CPU操作已完成。


[]中断机制:中断使得系统更加高效同时反应更为迅速。
分为硬件中断(hardware interrupt)和软件中断(software interrupt 陷阱)
1.硬件中断如 disk,timer,etc。
2.软件中断如 
异常——除0,非法内存访问
之类的system  call——read(),write()
重点名词:
interrupt driven:中断驱动,现代的操作系统都是中断驱动的。
interrupt handler:中断服务程序
interrupt vector:中断向量,是中断服务程序的入口地址。


[]IO结构
1、设备与设备控制器相连
2、IO操作分为同步(Synchronous)和异步(Asynchronous)两种。
同步的含义:在IO开始以后,直到IO完成,控制权才转交给用户程序。
同步IO的两种方式:busy wait method(忙等方式)和(interrupt based method)中断方式。
忙等方式:wait instruction 和 wait loop。缺点是一次最多1个IO请求,不能同时处理多IO请求。
中断方式:device-status table 和 wait queue。
异步的含义:在IO开始以后,不等IO完成,控制权就转交给用户程序。
异步的举例:Windows message、callback function
重点名词:
a device controller(hardware):设备控制器,包括local buffer storage(本地缓冲器)、a set of registers(一组寄存器)
device driver:设备驱动程序。


[]DMA(Direct Memory Access)结构
1.设备控制器在本地缓冲和内存之间传输一整块数据而无需CPU的干预。
2.DMA控制器从CPU窃取内存周期。
3.RAM(Random access memory)主存是CPU可以直接访问的唯一大型存储介质。
4.RAM的问题:small、volatile(易失性)。
5.Secondary Storage:magnetic disk(磁盘)、magnetic tape(磁带)、floppy disks、CD—ROMs
6.速度比较 magnetic disk < main memory < cache < hardware register


[]硬件保护
当非法指令、访问不属于自己地址空间的内存或进程中止时,硬件陷入到OS中去。
多用户环境下,保护磁盘上的文件、数据。
1)Dual-Mode Operation 两状态运行(用户态、管态)
——共享系统资源要求操作系统确保有误程序不会引起其他程序的错误。
——mode bit模式位
——出现中断或者陷阱时,硬件切换到管态。
——Privileged instructions(特权指令)只能在管态来下运行。
——权指令令在用户态下需要调用 system call 切换到管态下使用。
2)IO Protection IO保护
——所有的IO指令都是特权指令。
——用户不能直接用IO指令,必须通过系统调用。
——确保用户程序不能在管态下控制计算机。
3)Memory Protection 内存保护
——必须保护中断向量和中断服务程序。
——确定进程能访问的合法空间。
——base register基址寄存器,limit register界限寄存器。
——CPU访问的address要介于[base,base+limit]区间内。
——用户态生成的每个地址都要经过硬件检查。
——当在管态下的时候,操作系统可以访问任意管态和用户态的内存空间。
4)CPU Protection CPU保护
——OS需要防止用户程序陷入死循环或者不调用系统服务且不将控制权返回到OS。
——timer定时器,特定周期中断CPU以保证操作系统维持控制权。
——load-timer是特权指令。
——timer用来实现分时系统,也可以用来计算当前时间。


[]OS Services for user(操作系统服务)
1.User interface
2.Program execution
3.IO Operation
4.File-system manipulation
5.Comminications
——Msg Passing消息传递
——Shared Memory共享内存
6.Error dection
其他操作系统服务如Resource allocation(资源分配)、Accounting(账务)、Protection(保护)


[]System Calls系统调用
1.系统调用提供在运行程序和操作系统之间的接口,通常以汇编语言指令形式提供。
2.系统调用的处理机构:陷入(TRAP)或异常处理机构。


3.把由于系统调用引起处理机中断的指令称为陷入或异常指令(或称访管指令)。
4.系统调用的处理流程:
1)当用户使用系统调用时,产生一条相应的指令
2)CPU在执行到该指令时发生中断,发出有关的信号给陷入处理机构。
3)处理机构在收到了CPU发来的信号后,启动相关的处理程序去完成该系统调用所要求的功能

4)在处理系统调用之前,陷入处理机构还需保存处理机现场(PSW、PC、系统调用号、用户栈指针、通用寄存器、用户定义的参数等)



5.如何找到实现系统调用功能的子程序:入口地址表,每个入口地址与相应的系统程序对应。
6.系统调用的类型:process control、file management、device management、information maintence、communications。




[]系统程序
1.文件操作
2.状态信息
3.文件修改
4.程序设计语言支持
5.程序调入和执行
6.通信
7.应用程序


[]系统部件
1.Process Management 进程管理
——进程是正在执行的程序。
——OS负责:进程的创建和删除、进程的挂起和恢复,提供进程同步和进程通信机制,死锁的处理。




2.Main Memory Management主存管理
——OS负责:保持记录存储器的哪一部分当前被使用以及被谁使用、当有可用存储空间时决定调入哪个进程、需要时分配和回收存储空间。




3.Secondary-Storage Management 二级储存器管理
——由于主存是易失性的,而且太小不足以永久保存所有数据和程序,需要二级存储器备份主存。
——在同磁盘管理的有关活动中,OS负责:空闲空间管理、存储器分配、磁盘调度。




4.I/O System Management  I/O系统管理
——包括:缓冲区-高速缓存系统、通用设备驱动器接口、用于特定硬件设备的驱动程序。




5.File Management 文件管理
——OS负责:目录和文件的创建删除、支持操作文件和目录的原语、把文件映像到二级存储器、在稳定存储介质做文件副本。




6.Protection System 保护系统
——保护是一种机制,控制程序、进程、或用户对系统和用户资源的访问





7.Networking 网络处理


8.Command-Interpreter System 命令解释器系统


[]系统结构
1.简单结构
2.层次化结构
——OS划分为若干层,底层(0层)为硬件,最高层(N层)为用户层。
——分层的基本原则模块化:每层只能使用低层次的功能和服务。困难:层次的划分和安排要保证不出现双向依赖关系。
——分层的有点:低层和高层可分别实现。
高层的错误不会影响到低层,便于调试,利于功能的增删改。
调用关系清晰避免递归调用。
——缺点:系统中所有的控制转移、通讯的任务全部交给系统的核心去管理,需要花费一定的代价。


[]微内核
操作系统由两大部分组成:
1、运行在核心态的内核。
2、运行在用户态并以C/S方式运行的进程层。
特点:
1)内核精巧,只包含任务管理、虚存管理、进程间通信。
2)面向多处理机和分布式系统
3)基于客户/服务器体系结构。
优点:
1)易于扩充
2)易于移植


3)提高系统的可靠性:
4)提供多种操作环境
便于实现分布计算 RPC Remote Procedure Call
缺点:
消息传递方式增加开销,使响应变慢。


[]虚拟机
1.虚拟机是层次化的逻辑结果,它把硬件和操作系统都看成是硬件。
2.虚拟机为裸机提供了统一的接口。
3.操作系统创建了多个进程,每一个进程都有自己的处理器和(虚拟)内存。
4.实现方式:分时 共享







本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/321388.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【深搜】 棋盘 【NOIp普及组 2017 第三题】 (luogu 3956/ssl 2851)

棋盘棋盘棋盘 题目大意&#xff1a; 有一个M*M的棋盘&#xff0c;要从&#xff08;1&#xff0c;1&#xff09;到&#xff08;m,m&#xff09;&#xff0c;中间有n个有颜色的格子&#xff0c;只能踩在有颜色的格子上&#xff0c;跳到不同颜色的格子要花费1元&#xff0c;可以将…

P3332-[ZJOI2013]K大数查询【树套树】

正题 题目链接&#xff1a;https://www.luogu.com.cn/problem/P3332 题目大意 开始nnn个可以重复的集合&#xff0c;要求支持操作 1lrc:1\ l\ r\ c:1 l r c:将ccc加入集合l∼rl\sim rl∼r中2lrk:2\ l\ r\ k:2 l r k:查询l∼rl\sim rl∼r的并集中第kkk大的数 解题思路 此题考…

别跟我谈EF抵抗并发,敢问你到底会不会用EntityFramework

前言一直以来写的博文都是比较温婉型的博文&#xff0c;今天这篇博文算是一篇批判性博文&#xff0c;有问题欢迎探讨&#xff0c;如标题&#xff0c;你到底会不会用EntityFramework啊。你到底会不会用EntityFramework啊面试过三年至六年的同行&#xff0c;作为过面试者到如今作…

操作系统复习笔记 04 Process 进程

[]进程的概念1.进程是操作系统执行的各种程序。2.现在的操作系统多为并发执行&#xff0c;具有许多新的特征。引入并发执行的目的是提高资源利用率。3.OS的基本特征是[并发与共享]。4.顺序环境计算机系统只有一个程序在执行&#xff0c;该程序独占系统的所有资源&#xff0c;其…

【动态规划】 多米诺骨牌 (ssl 1632/luogu 1282)

多米诺骨牌多米诺骨牌多米诺骨牌 Description Input 输入文件的第一行是一个正整数n(1≤n≤1000)&#xff0c;表示多米诺骨牌数。接下来的n行表示n个多米诺骨牌的点数。每行有两个用空格隔开的正整数&#xff0c;表示多米诺骨牌上下方块中的点数a和b&#xff0c;且1≤a&#…

为什么 web 开发人员需要迁移到. NET Core, 并使用 ASP.NET Core MVC 构建 web 和 API

2018 .NET开发者调查报告: .NET Core 是怎么样的状态&#xff0c;这里我们看到了还有非常多的.net开发人员还在观望&#xff0c;本文给大家一个建议。这仅代表我的个人意见, 我有充分的理由推荐.net 程序员使用. net core而不是. net Framework。有些人可能不同意我的观点, 但是…

CF1260C-Infinite Fence【结论题】

正题 题目链接:https://www.luogu.com.cn/problem/CF1260C 题目大意 无数个栏杆&#xff0c;rrr的倍数染成红色&#xff0c;bbb的倍数染成蓝色&#xff0c;是rrr和bbb的倍数的话可以选择一个染色&#xff0c;去掉没有染色的&#xff0c;是否有一种方案使得最长的染色快不超过…

【动态规划】 摆花 【NOIp普及组 2012 第三题】 (ssl 2360/luogu 1077)

摆花摆花摆花 题目大意 有n种花&#xff0c;每种花有ai支&#xff0c;取m支&#xff0c;有多少种取法&#xff1f;&#xff08;同一种花取第1&#xff0c;第3支和取第1&#xff0c;第2支算一种取法&#xff09; 解题方法&#xff1a; 用f[i][j]来表示前i种选j支的方案数&…

操作系统复习笔记 05 Thread 线程

进程的两个基本属性1.拥有资源的独立单位2.可独立调度和分派的基本单位进程的数目不宜过多&#xff0c;进程切换频率不宜过高&#xff0c;限制了并发程度。操作系统的设计目标是&#xff1a;提高并发度、减小系统开销。引入线程的目的是简化线程间的通信&#xff0c;以小的开销…

使用SonarCloud对.NET Core项目进行静态代码分析

本文将介绍如何使用SonarCloud进行.NET Core项目的静态代码分析。SonarCloud是SonarQube提供的基于云的版本&#xff0c;特别针对于开源项目是免费的。首先&#xff0c;在sonarcloud.io创建一个账号&#xff0c;你可以使用Github/BitBucket/Microsoft Live账户进行注册&#xf…

P6477-[NOI Online #2 提高组]子序列问题【线段树】

正题 题目链接:https://www.luogu.com.cn/problem/P6477 话说这是luogu的冥间数据 题目大意 nnn个数的序列&#xff0c;f(l,r)f(l,r)f(l,r)表示l∼rl\sim rl∼r有多少个不同的数字。 求∑l1n∑rln(f(l,r))2\sum_{l1}^n\sum_{rl}^n(f(l,r))^2l1∑n​rl∑n​(f(l,r))2 解题思路…

操作系统复习笔记 06 CPU Scheduling CPU调度

CPU的三级调度&#xff1a;1.高级调度(Long-term)&#xff1a;作业调度&#xff0c;从外存进内存2.低级调度(Short-term)&#xff1a;进程调度&#xff0c;分配处理机3.中级调度(Medium-term)&#xff1a;对换通过多道程序设计得到CPU的最高使用率。CPU-IO脉冲周期&#xff1a;…

【动态规划】 石子合并问题(环形) (ssl 1597)

石子合并问题石子合并问题石子合并问题 Description 在一个圆形操场的四周摆放着n 堆石子。现要将石子有次序地合并成一堆。规定每次只能选相邻的2 堆石子合并成新的一堆&#xff0c;并将新的一堆石子数记为该次合并的得分。试设计一个算法&#xff0c;计算出将n堆石子合并成…

P6102-[EER2]谔运算【位运算】

正题 题目链接:https://www.luogu.com.cn/problem/P6102?contestId26472 题目大意 nnn个数的序列aaa&#xff0c;求 ∑i1n∑j1n∑k1n∑l1n(aioraj)xor(akandal)\sum_{i1}^n\sum_{j1}^n\sum_{k1}^n\sum_{l1}^n(a_i\ or\ a_j)\ xor\ (a_k\ and\ a_l)i1∑n​j1∑n​k1∑n​l1∑n…

操作系统复习笔记 07 Process Synchronization 进程同步

背景&#xff1a;1.对共享数据的并发访问可能导致数据的不一致性。2.要保持数据的一致性&#xff0c;就需要一种保证并发进程正确执行顺序机制。3.解决有界缓冲区问题的共享内存方法在count上存在竞争条件。4.进程间的制约关系&#xff1a;——间接制约&#xff1a;有些资源需要…

【动态规划】拔河比赛 (ssl 1638)

拔河比赛拔河比赛拔河比赛 Description 一个学校举行拔河比赛&#xff0c;所有的人被分成了两组&#xff0c;每个人必须&#xff08;且只能够&#xff09;在其中的一组&#xff0c;要求两个组的人数相差不能超过1&#xff0c;且两个组内的所有人体重加起来尽可能地接近。 In…

特长生考试相关

水一手游记 一大早起来像个那啥一样在校训石前等&#xff08;旁边一群看猴子一样&#xff09; 然后车上点个人就去公费旅游&#xff08;半个小时车程&#xff0c;甚至没有饭吃&#xff09; 然后到那边量完体温见了一下熟人就开始了 T1高精度&#xff0c;历年最难T1还要判负数然…

Build 2018,给你带来全新的开发者体验, .NET Core 3.0带来桌面支持

Build 2018 主旨演讲的主题是 Azure 云和 AI、物联网、AR等技术&#xff0c;以及开发者相关内容的宣布。在今天的Build大会上&#xff0c;微软宣布目前已有超过7亿台设备运行Windows 10系统。去年这个数字为5亿。Office 365目前每个月有1.35亿活跃的商业用户&#xff0c;去年为…

【动态规划】大厅安排 (ssl 1212)

大厅安排大厅安排大厅安排 Description 有一个演讲大厅需要GEORGE管理&#xff0c;演讲者们事先定好了需要演讲的起始时间和中止时间。GEORGE想让演讲大厅得到最大可能的使用。我们要接受一些预定而拒绝其他的预定&#xff0c;目标自然是使演讲者使用大厅的时间最长。为方便起…

《你必须掌握的Entity Framework 6.x与Core 2.0》书籍出版

前言到目前为止写过刚好两百来篇博客&#xff0c;看过我博客的读者应该大概知道我每一篇博客都沿袭着一贯的套路&#xff0c;从前言到话题最终到总结&#xff0c;本文依然是一如既往的套路&#xff0c;但是不是介绍技术&#xff0c;也可说是介绍技术&#xff0c;不过是介绍书中…