作业系统L2-系统结构

作业系统L2-系统结构

## 作业系统服务

使用者介面

  • 命令行介面(Command Line Interface, CLI)

      可直接输入命令-shells
    
    • 图形使用者介面(Graphical User Interface, GUI)
    • 批次(Batch)
  • 程序执行

    • 系统必须将程序载入到记忆体并且执行
  • I/O作业

  • 档案系统的使用

    • 程序需要读写档案和目录,建立或删除档案
  • 通信

  • 错误的侦测

  • 资源的分配

  • 记帐

  • 保护和安全

系统呼叫

  • 大部分程序通过(Application Program Interface, API)呼叫
  • 常用API
    • Win32 API
    • POSIX API
    • Java API

系统呼叫的参数传递

  • 1.直接使用暂存器传递参数
    • 优点:简单,快速
    • 缺点:大量参数不适用
  • 2.参数以表格的方式储存,传递表格的位址传给OS
    • 优点:可处理较大量参数
    • 缺点:存取速度慢,操作麻烦
  • 3.参数push到堆叠上,再由作业系统pop出来
    • 优点:可适用大量参数,操作较简单
    • 缺点:堆叠空间要求大

系统呼叫类型

  • 行程控制
  • 档案管理
  • 装置管理
  • 资讯维护
  • 通信
  • 保护

系统程序

  • 档案管理
  • 状态资讯
  • 档案的修改
  • 程序语言支援
  • 程序的载入与执行
  • 通信
  • 背景服务
  • 应用程序

作业系统设计和制作

  • 目标
    • 使用者目标
    • 系统目标
  • 分离
    • 策略(Policy): 做什麽?
    • 方法(Mechanism): 如何做?

系统架构(Structure)分类

  • simple:无kernel概念,常见於嵌入式系统

      MS-DOS
    
    • 优点:可任意存取档案,弹性大
    • 缺点:无保护机制
  • More complex that simple(monolithic):较早有kernel的概念

      unix
    

  • layer approach:

    • 优点:方便扩展,分工
    • 缺点:分层困难,若层次太多则容易耗能
  • Microkernel(微核心):大部分核心移到使用者空间,依靠**讯息传递(message passing)**作通信

      Mach
    
    • 优点:容易扩展,更安全可靠
    • 缺点:message passing容易造成性能负担

  • Moudle:采物件导向做法,利用各个独立的核心元件互相交谈

      Linux, Solaris
    

  • Hybrid(混合):现在OS大多难分类


<<:  作业系统L1-概说

>>:  作业系统L3-行程

[Day 08] (题外话)谈谈目标专案设计构想

今天回归上班日,整天忙着写ASP.NET,下班後又跑了一趟诊所,回来就几乎没什麽时间好好整理文章了 ...

第一次参加社群志工

在台湾,只要是主流的程序语言都会有社群研讨会,像是: JCConf JSDC PyConf Lara...

[Day28] 透过GCP实作(4/4):透过Scheduler与Pub/Sub使抓取资料自动化

基於昨日文章的说明, 我们已经建立了一个资料库协助我们暂存资料资料 但缺乏驱动负责拉取与上传资料的...

区块链与物联网的两人三脚

我抠 我抠 我抠抠抠,"钱歹赚"的2022,我的每一分钱都打上9个结,为了生存时...

[Day 29] Final Project (5/5) — 部署 App 到 Google App Engine

前情提要 昨天我们成功将模型部署到 Google AI Platform 上,并且也处理了授权的问题...