操作系统学习笔记(二) --操作系统结构

笔记一请见 http://blog.csdn.net/u012277682/article/details/50971514

最近开始学习操作系统原理这门课程,特将学习笔记整理成技术博客的形式发表,希望能给大家的操作系统学习带来帮助。同时盼望大家能对文章评论,大家一起多多交流,共同进步!
本篇文章大致内容为:
- 操作系统服务(Operating System Services)
- 用户操作系统接口(User Operating System Interface)
- 系统调用(System Calls)
- 操作系统设计和实现(OS Design and Implementation)
- 虚拟机(Virtual Machines)

回顾: 什么是OS?
OS是一个全时运行的程序,用以管理和控制系统资源,合理组织计算机的工作流程,方便用户使用计算机的程序集合


操作系统服务(Operating System Services)

操作系统为用户提供了以下功能:
- User Interface
1. Command-Line(CLI)
2. Graphics User Interface(GUI)
3. Batch(批处理)
- Program execution 程序执行
- I/O operations 输入/输出操作
- File-system manipulation 文件管理系统
- Communications 通信,协同
- Error detection 错误检测
- Another set of functions exists for ensuring the efficient operation of the system
1. Resource allocation 资源分配
2. Accounting
3. Protection and security
Protection –> 确保所有对操作系统的访问都是合法的/受控的; Security–>防止额外的I/O设备对系统进行非法访问

系统调用(System Call)

  • 编程时使用操作系统提供的功能的借口
  • Mostly accessed via a high-level Application Program Interface(API):系统调用继续往上打包
    For: 程序的可移植性 && 系统调用的使用难度高于API

常用的API : Win32 API -> Windows; POSIX API -> Linux, Unix, MacOS; Java APi -> JVM.
系统调用的实现:
1. 对于每一个系统调用都有对应的number
2. 在系统调用表(System call table)中根据number来查找具体的功能
3. 调用(invoke)相应的功能并返回状态

对于判断程序位于用户态还是系统态,操作系统存在PSW(系统状态字)。
系统调用的参数传递:
1. 寄存器
2. 将参数块对应的地址作为参数放入寄存器
3. 使用堆栈

操作系统的设计与实现

Start by defining goals and specifications.
goals:
- 用户目标:convenient to use, reliable, safe, fast
- 系统目标:easy to design, implement, maintain, flexible, reliable, error-free, and efficient
Policy(策略):要做什么
Mechanism(机制):怎么做
OS structure: Layer Approach
缺点: 效率较低,一层一层的参数调用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值