操作系统原理第一周:操作系统概述
来源:互联网 发布:diag矩阵的逆矩阵 编辑:程序博客网 时间:2024/06/10 11:13
1. 操作系统做了什么
C程序:Helloworld
#include <stdio.h>int main(int argc, char *argv[]){ puts("hello world"); return 0;}
- 用户告诉操作系统执行helloworld程序
- 操作系统:找到helloworld程序的相关信息,检查其类型是否是可执行文件,并通过程序首部信息,确定代码和数据在可执行文件中的位置,并计算出对应的磁盘块地址
- 操作系统:创建一个新的进程,并将helloworld可执行文件映射到该进程结构,表示由该进程执行helloworld程序
- 为helloworld程序设置CPU上下文环境,并跳到程序开始处(假设调度程序选中它)
- 执行helloworld程序的第一条指令,发生缺页异常
- 操作系统:分配一页物理内存,并将代码从磁盘读入内存,然后继续执行helloworld程序
- helloworld程序执行puts函数(系统调用),在显示器上写一字符串
- 操作系统:找到要将字符串送往的显示设备,通常设备是由一个进程控制的,所以操作系统将要写的字符串送给该进程
- 操作系统:控制设备的进程告诉设备的窗口系统它要显示字符串,窗口系统确认这是一个合法的操作,然后将字符串转换成像素,将像素写入设备的存储映像区
- 视频硬件将像素转换成显示器可接收的一组控制/数据信号
- 显示器解释信号,激发液晶屏
- 我们在屏幕上看到了“hello world”
2. 操作系统的定义及作用
操作系统是计算机系统中的一个系统软件,是一些程序模块的集合:
- 它们能以尽量有效、合理的方式组织和管理计算机的软硬件资源
- 合理地组织计算机的工作流程,控制程序的执行,并向用户提供各种服务功能
- 使用户能够灵活、方便地使用计算机,使整个计算机系统高效率运行
操作系统的三个作用:
- 资源的管理者
- 向用户提供各种服务
- 对硬件机器的扩展
(1) 资源的管理者
- 跟踪记录资源的使用状况
- 确定资源分配策略——算法
静态分配策略 动态分配策略 - 实施资源的分配和回收
- 提高资源利用率
- 保护资源的使用
- 协调多个进程对资源请求的冲突
五大基本功能:
- 进程/线程管理(CPU管理)
进程线程状态、控制、同步互斥、通信、调度、… - 存储管理
分配/回收、地址转换、存储保护、内存扩充、… - 文件管理
文件目录、文件操作、磁盘空间、文件存取控制、… - 设备管理
设备驱动、分配回收、缓冲技术、… - 用户接口
系统命令、编程接口
(2) 向用户提供各种服务
操作系统为用户提供了一组功能强大、方便易用的命令或系统调用
包括:进程的创建、执行,文件和目录的操作,I/O设备的使用,各类统计信息,…
(3) 对硬件机器的扩展
操作系统在应用程序与硬件之间建立了一个等价的扩展机器(虚拟机)
对硬件抽象,提高可移植性,比底层硬件更容易编程
3. 操作系统的特征
(1) 并发
并发是指处理多个同时性活动的能力,对于单CPU
宏观上:这些程序同时在执行
微观上:任何时刻只有一个程序真正在执行,即这些程序在CPU上是轮流执行的
并行(parallel):与并发相似,但多指不同程序同时在多个硬件部件上执行
(2) 共享
共享是指操作系统与多个用户的程序共同使用计算机系统中的资源(共享有限的系统资源)
操作系统要对系统资源进行合理分配和使用
资源在一个时间段内交替被多个进程所用
- 互斥共享(如打印机)
- 同时共享(如可重入代码、磁盘文件)
(3) 虚拟
虚拟是指一个物理实体映射为若干个对应的逻辑实体——分时或分空间
虚拟是操作系统管理系统资源的重要手段,可提高资源利用率
(4) 随机
随机是指操作系统必须随时对以不可预测的次序发生的事件进行响应并处理
进程的运行速度不可预知:多个进程并发执行,走走停停,无法预知每个进程的运行推进的快慢
难以重现系统在某个时刻的状态(包括重现运行中的错误)
4. 典型操作系统的架构
(1) Windows
用户态:系统进程,服务进程,用户进程,环境子系统,动态链接库
内核态:系统服务分发器,内核态可调用接口,执行体,内核,设备驱动程序,硬件抽象层,图形与窗口
物理硬件:硬件
(2) Unix
(3) Linux
(4) Android
5. 操作系统分类
目标:充分利用硬件,提供更好的服务
大型机
- 操作系统原理第一周:操作系统概述
- 操作系统 : 第一周作业
- 操作系统原理概述
- 操作系统原理概述
- 操作系统原理学习笔记--操作系统概述
- 操作系统精髓与设计原理-操作系统概述
- <操作系统:精髓与设计原理> 操作系统概述
- 深入理解操作系统原理之操作系统概述
- 第1章 操作系统概述
- Linux操作系统分析学习第一周感悟
- 【操作系统】1、操作系统概述
- 操作系统概述
- 操作系统概述
- 操作系统概述
- 操作系统概述
- 操作系统概述
- 操作系统概述
- 操作系统概述
- Axure应用心得
- 【网络组件】服务器TcpServer
- 开博首文(2015.4.4)
- ldap - 设置一个基本的OpenLDAP Server
- 工厂方法模式
- 操作系统原理第一周:操作系统概述
- P52 第28题 求和(1+1/2+1/3.....+1/100000)的值
- opencv中的waitKey
- Python中的module,library,package之间的区别
- 2015阿里巴巴前端实习生在线笔试题
- DayDayUP_Linux运维学习_Jsp 相关环境的搭建
- FontMetrics字体大小测量
- C++编程常见的内存错误及其对策
- Professor Q's Software——邻接表实现拓扑排序