首页 > 操作系统2--操作系统结构

操作系统2--操作系统结构

操作系统结构

操作系统的结构需要从这几个方面来考虑:他为用户提供了哪些服务和界面,系统各个组成部分及其相互关系


操作系统的操作

大致可分为:进程管理,主存管理,文件管理,辅存管理和IO管理

进程管理

  1. 进程的创建和结束
  2. 进程的挂起和恢复
  3. 进程锁进程交互进程死锁的规则

内存管理

  1. 记录内存使用
  2. 分配和回收内存资源

文件管理

  1. 文件的创建和删除
  2. 文件目录的创建和删除
  3. 文件二进制操作
  4. 映射文件到二级存储
  5. 在非易失性存储上备份

辅存管理

  1. 空闲存储空间管理
  2. 存储分配
  3. 磁盘调度

IO管理

管理IO设备


操作系统的服务

对于用户

  1. 程序的执行:最关键的服务,从辅存中加载程序到内存中并执行
  2. IO操作,用户不能直接惊醒IO操作,这也需要系统来提供服务
  3. 文件操作,用户需要读写,创建和删除文件
  4. 信息交流:在两个进程间传送消息:方法一般分为发送报文和共享内存
  5. 错误检测

对于确保系统正常运行

  1. 资源分配:多个程序同时运行下资源分配显得更为重要
  2. 记录任务
  3. 保护:所有资源被正确回收,所有连接使用后被断开

操作系统界面 接口

用户界面

  1. GUI 用户图形界面
  2. cmd命令行
  3. batch 批处理命令

程序接口

  1. 系统调用

    与一个固定ID关联,参数传递时可以传寄存器里的数,也可应从堆栈中,内存中传递

  2. API

    API建立在系统调用之上,只要知道AIP函数入口很容易使用,但需要运行库来支持.最常用的AIP有

    win32API (WINDOWS) POSIX(UNIX,LINUX) JAVA API (JVM)

    附注:系统调用的种类

    进程管理类 文件管理 设备管理 信息维护 信息传递


操作系统结构

  1. 简单结构
  2. 分层结构

    系统分为很多层,高层只能调用低一层的功能

  3. 微内核结构

    如名,提供精简的内核,提供最小化的进程管理,内存管理,和通讯设备(通讯使用消息传递的方式)

  4. 模块结构

    最常用的结构,类似分层结构,但和分层结构相比,模块结构更加松散,每个模块不分高低,相互依赖使用

举例说明:

如 MS-DOS 虽然有一定的分层,但模块之间的区分很不清楚,而UNIX就分为了内核部分和系统程序两个模块

转载于:https://www.cnblogs.com/goldenhair/p/3676190.html

更多相关:

  • 管理信息库MIB指明了网络元素所维持的变量(即能够被管理进程查询和设置的信息)。MIB给出了一个网络中所有可能的被管理对象的集合的数据结构。SNMP的管理信息库采用和域名系统DNS相似的树型结构,它的根在最上面,根没有名字。图3画的是管理信息库的一部分,它又称为对象命名(objectnamingtree)。       图3管...

  •   参考:https://www.rabbitmq.com/getstarted.html 先在本地安装RabbitMQ 组件(需要安装Erlang组件),启动服务。 激活 RabbitMQ's Management Plugin 使用RabbitMQ 管理插件,可以更好的可视化方式查看Rabbit MQ 服务器实例的状态。 打开命令...

  • 栖息谷-IT管理-[转帖]ERP术语                [转帖]ERP术语               1                英文缩写: MIS               英文全称: Management Information System            ...

  • mmc.exe                       MMC 3.0 管理单元控制台 Microsoft 管理控制台 (MMC) 集成了可以用于管理网络、计算机、服务和其他系统组件的管理工具。 文件清单! azman.msc                    授权管理器 certmgr.msc         &n...

  • 一.  结构的基本知识 聚合数据类型能够存储多个数据,C语言提供了两种类型的聚合数据类型,数组和结构。数组是相同的数据,结构是不同类型的数据聚合。结构也是一些值得集合,这些值成为它的成员,每个结构都有它的名字,他们是通过名字来访问的。 1.      结构声明 在结构声明时,必须列出它包含的所有成员,这个列表包括每个成员的类型和...

  •   在前面认识C中的结构体中我介绍了结构体的基础知识,下面通过这段代码来回顾一下: 1 #include 2 #define LEN 20 3 4 struct Student{ //定义结构体 5 char name[LEN]; 6 char address[...

  • Hibernate 配置参数hibernate.hbm2ddl.auto  Hibernate中的配置文件:              参数说明:   valid...

  • 在我们面试过程中,面试官经常会问到这么一个问题,那就是从在浏览器地址栏中输入URL到页面显示,浏览器到底发生了什么?这个问题看起来是老生常谈,但是这个问题回答的好坏,确实可以很好的反映出面试者知识的广度和深度。本文从浏览器角度来告诉你,URL后输入后按回车,浏览器内部究竟发生了什么,读完本文后,你将了解到:浏览器内有哪些进程,这些...

  • 进程与线程进程(process)就是任务,是计算机系统进行资源分配和调度的基本单位[1]。比如,打开一个word文件就是启动了一个word进程。线程(thread)是进程内的子任务。比如word中可以进行编辑、拼写检查和打印等子任务。我们目前的操作系统都是多任务的操作系统,多任务的实现方式[2]:多进程多线程多进程 + 多线程多进程:...

  • 运行cmd netstat -aon|findstr 80 然后 taskkill -f -pid 32428(这个就是pid进程编号) 回车   进程死翘翘了~ 去愉快玩耍吧~哦对了 别忘记一健三联关注我哟~...

  • 首要解决的问题是如何唯一标识一个进程,否则通信无从谈起!在本地可以通过进程PID来唯一标识一个进程,但是在网络中这是行不通的。其实TCP/IP协议族已经帮我们解决了这个问题,网络层的“ip地址”可以唯一标识网络中的主机,而传输层的“协议+端口”可以唯一标识主机中的应用程序(进程)。这样利用三元组(ip地址,协议,端口)就可以标识网...

  • 1.      SIGTERM “kill pid” 会发送SIGTERM到进程pid. This is the termination signal sent by killcommand by default. 2.      SIGINT 在终端中敲入interrupt key(DELETE或ctrl+c)会产生SIG...