(1)操作系统概述

一、操作系统做了什么
    比如一个简单的C语言helloworld,它的执行过程是什么?
    1、用户告诉操作系统执行该程序,比如在命令行执行相应的命令。
    2、操作系统:找到helloworld程序的相关信息,检查这个程序是不是可执行文件;并通过程序的首部信息,来确定代码和数据在可执行文件中的位置并计算出 对应的磁盘块地址。win下是PE格式,linux下是ELF格式。
    3、创建一个新的进程,将hellowrold执行文件映射到该进程结构,表示由该进程来执行这个程序。
    4、操作系统:把控制权给调度程序,调度程序选中这个程序时,会设置CPU上下文环境,然后开始执行helloworld程序。
    5、执行helloworld程序第一条指令,会发生缺页异常。为什么呢?因为程序执行的时候需要把程序的代码和数据读入内存,CPU才能去执行。但是此时还没读入内存,所以出现缺页异常,把控制交给操作系统。
    6、操作系统:分配一页空闲的物理内存,并将代码从磁盘读入内存,然后继续执行helloworld程序,有时候程序很大,会多次发生缺页异常,然后继续执行该步骤。
    7、helloworl程序执行put函数(系统调用),在显示器上显示一字符串。
    8、操作系统:找到要将字符串送往的显示设备,通常设备是由一个进程控制的。所以操作系统将要写的字符串送给该进程。
    9、操作系统:控制设备的进程告诉设备的窗口系统 它要显示字符串,窗口系统确定这是一个合法的操作,然后将字符串转换为像素,将像素写入设备储存映像区
    10、视频硬件将像素转换成显示器可以接受的一组控制/数据信号
    11、显示器解释信号,激发液晶屏。

结论:在CPU上执行一个用户程序,会不断的请求操作系统。所以CPU上执行的是操作系统和CPU程序。从另一个角度看,操作系统调度用户程序,然后又陷入操作系统。操作系统负责了程序的启动和执行,同时也不断的为用户程序的执行提供了支持。

二、操作系统的定义和作用
1、操作系统是什么?
操作系统是计算机系统中的一个系统软件,是一些程序模块的集合。
1)它们能以尽量 有效合理的方式组织和管理计算机的软硬件资源。
2)合理地组织计算机的工作流程,控制程序的执行并向用户提供各种服务功能。
3)使得用户能够灵活、 方便地使用计算机,使整个计算机系统高效率运行。

有效:系统效率,资源利用率,CPU利用率是否充足?I/O设备是否忙碌?
合理:各种软硬件资源的管理是否公平合理?
方便使用:两个角度:用户界面与编程接口。
2、操作系统的三个作用:
其一:1) 资源的管理者(有效)
硬件资源:CPU,内存,设备(网卡,I/O设备等)
软件资源:磁盘上的文件和各类信息。
问题:怎么样管理资源?
1.跟踪记录资源的使用状况,用数据结构来表示,如:哪些资源空闲,分配给谁用,允许使用多长时间等。
2.确定 资源分配策略——算法
  • 静态分配策略。进程执行前就把资源拿到手,比较浪费。
  • 动态分配策略。在进程执行过程中,分配资源,效率较高。
  • 实施资源的分配和回收,分配的过程就是用分配资源的策略选的要分配的进程,然后决定分配多少,再修改相应的数据结构。
  • 提供资源利用率
  • 保护资源的使用,防止这个进程被另一个进程干扰
  • 协调多个进程对资源请求的冲突。
2)从资源管理的角度
1.进程/线程管理(CPU管理)
进程线程状态、控制、同步互斥、通信、调度...
2.储存管理
分配/回收、地址转换、储存保护、内存扩充...
3.文件管理
文件目录、文件操作、磁盘空间、文件存取控制、
4.设备管理
设备驱动、分配回收、缓存技术
5.用户接口
系统命令、编程接口

其二、 向用户提供各种服务(方便使用)
1)在操作系统上,从用户角度来看:
    操作系统为用户提供了一组功能强大、方便易用的 命令系统调用
2)典型的服务
    进程的创建等等...

其三、对硬件机器的扩展(扩展能力)
    应用程序
-----------------虚拟机器界面
    操作系统,对硬件抽象,提高了可移植性。
----------------物理机器界面
    硬件(被屏蔽)

三、操作系统的主要特征
1、并发---赛马跑道
指处理多个同时性活动的能力,问题:活动切换、保护、相互依赖的活动间的同步。
计算机系统上同时多个程序运行,在单CPU上
宏观上:这些程序同时在执行
微观上:都只有一 个在执行,只不过是轮流的
2、并行--跨栏有跑道
指不同的程序同时在多个硬件部件上执行。
3、共享:
操作系统与多个用户的程序共同使用计算机系统中的资源(共享有限系统资源)
操作系统要对系统资源进行合理分配和使用资源,资源在一个时间段内交替被多个进程所用
1)互斥共享(如打印机)
2)同时共享(如可重入代码、磁盘文件)
问题:资源分配难以达到最优化,如何保护资源
4、虚拟:
一个屋里实体映射为若干个对应的逻辑实体——分时或分空间,提高了资源利用率。
cpu----每个进程的“虚处理器”
存储器-----每个进程都有独立的虚拟地址空间(代码+数据+堆栈)
显示设备-----多窗口或虚拟中断
5、随机:
操作系统必须随时对不可预测的次序发生的事件进行响应
进程的运行速度不可预知:多个进程并发执行,走走停停。
难以重现系统在某个时刻的状态。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值