操作系统学习1
来源:互联网 发布:中国期刊数据库靠谱吗 编辑:程序博客网 时间:2024/06/15 23:38
- 第一章
- 操作系统做了什么
- 操作系统的定义和作用
- 操作系统的特征
- 典型的系统架构
- 操作系统的分类
- 第一章
总结自陈向群的视频(18小时)
第一章
操作系统做了什么
C语言执行helloword程序的过程:
用户告诉操作系统执行hellowold程序(例如双击图标,命令形式)
操作系统:找到程序的相关信息,查看是否是可执行文件,并通过程序首部信息确定代码和数据在可执行文件中的位置并计算出对应的磁盘块地址。然后操作系统创建一个新的进程,并将helloworld可执行文件映射到该进程结构,表示由该进程执行helloworld程序。为helloworld程序设置CPU上下文环境,并调到程序开始处。
执行helloworld程序的第一条指令,发生缺页异常;操作系统分配一页物理内存,并将代码从磁盘读入内存,然后继续执行helloworld程序。如果程序过大,会产生多次的缺页异常。
helloworld执行puts函数(系统调用),在显示器上显示字符串。
操作系统找到将字符串送往的显示设备
控制设备的进程告诉设备的窗口系统它要显示的字符串,窗口系统将字符串转换成像素,之后显示
结论:
时而运行的是用户程序,时而运行的是操作系统程序
另一个角度看:进程管理,存储管理, 文件系统共同作用的结果
操作系统的定义和作用
是一些程序模块的集合,能尽量有效、合理的方式组织和管理计算机的软硬件资源。
几个关键字:
有效: 系统效率,资源利用率
合理:是否公平
方便使用:用户界面与程序接口操作系统的三个功能:
操作系统是资源的管理者
怎样管理资源:
跟踪和记录资源的使用状况,通过相关的数据结构;
确定资源分配策略(算法)(静态分配策略,动态分配策略(常用))
实施资源的分配和回收
提高资源的利用率操作系统的五大基本功能:
进程/线程管理
存储管理
文件管理
设备管理
用户接口操作系统是各种系统服务的提供者
对机器硬件的扩展:在应用程序与硬件之间建立了一个等价的扩展机器
操作系统的特征
并发
指处理多个同时性的活动引发的问题:活动切换、保护、相互依赖的活动间的同步
并行:与并发类似,但多指不同程序同时在多个硬件部件上执行
例如:并发:跑马拉松(无跑道),100m(有跑道)共享
操作系统与多个用户的程序共同使用计算机系统中的资源
需要对资源合理分配和使用互斥共享(打印机)
同时共享(磁盘文件)
带来问题:怎么使用最优化虚拟
一个物理实体映射为若干个对应的逻辑实体(分时或者分空间)
目的为了提高资源利用率CPU:每个进程的“虚处理机”
存储器:每个进程都有独立的虚拟地址空间(代码+数据+堆栈)
显示设备:多窗口或虚拟终端随机
操作系统必须随时对以不可预测的次序发生的事件进行相应并处理
典型的系统架构
- Windows架构 内核态 用户态
- UNIX架构
- LINUX
- ANDROID
操作系统的分类
传统操作系统的分类
批处理操作系统
作业会组成一批作业,输入到计算机中,在系统中形成一个自动转接的连续的作业流,操作系统自动、依次执行每个作业
提高利用率,增加吞吐量
作业包括:用户程序 数据 作业说明书(作业控制语言编写)
成批:不能干预
问题:输入输出时,CPU处于等待状态
分为:单道批处理系统;多道批处理系统
SPOOLing技术(打印机仍在使用)分时系统
操作系统将CPU时间划分为若干个片段,称为时间片实时操作系统
是指计算机能及时响应外部事件的请求
第一类:实时过程控制
第二类:实时通信处理
最关键的参数:时间
硬实时系统、软实时系统(按时间严格程度)个人云计算操作系统
网络操作系统
分布式操作系统
嵌入式操作系统
- 操作系统学习笔记(1)
- 操作系统学习笔记[1]
- 操作系统学习笔记1
- 操作系统学习笔记1
- 操作系统的学习1
- TinyOS操作系统学习 1
- 操作系统学习(1)
- 操作系统 学习笔记1
- 操作系统学习1
- 操作系统学习1
- 操作系统学习(1)
- LINUX操作系统学习--1操作系统概述
- 操作系统学习概要(1)
- 操作系统原理--学习笔记1
- 操作系统学习笔记(1)
- 一起学习操作系统(1)
- 网络操作系统学习笔记1
- 计算机操作系统学习笔记1
- 如何实现只收听一次sticky的广播,读取电池电量的值
- Light OJ 1191 Bar Codes (DP)
- SAE中的日志功能
- atitit.跨语言执行cmd cli api的原理及兼容性设计草案
- Leetcode 004 Median of Two Sorted Arrays
- 操作系统学习1
- HDU 4352 XHXJ's LIS(数位dp&状态压缩)
- JavaWeb项目中的绝对路径与相对路径问题
- Atitit.业务系统的新特性 开发平台 新特性的来源总结
- Atitit.mysql 5.0 5.5 5.6 5.7 新特性 新功能
- 数据结构学习笔记——树的概念
- 全面理解面向对象的 JavaScript
- 架构设计之-逻辑架构
- 大数据应用时Oracle优化方法1