操作系统做了什么?
1、用户告知操作系统执行helloworld程序(how?)
命令行键入、双击图标
2、操作系统找到helloworld相关信息,检查其代码类型是否为可执行文件;通过程序首部信息确认代码和数据在可执行文件中的位置并计算出相应的磁盘地址(文件格式?)
3、操作系统创建一个新的进程,并将helloworld可执行文件映射到该进程结构,表示由该进程执行helloworld
4、操作系统为helloworld设置CPU上下文环境,并跳到程序开始处(假设调度程序选中helloworld)
5、执行helloworld的第一条指令时,会发生缺页异常。分配一页物理内存,并将代码从磁盘读入内存,然后继续执行程序,此过程重复多次。
6、执行puts函数(系统调用),在显示设备上显示一串字符,操作系统将告知显示所相关进程
7、之后硬件相关。。。。。
在执行helloworld时,不断请求操作系统功能调用,如创建进程、存储管理、调用puts函数。
操作系统是什么?
1、是计算机系统中的一个系统软件,是一些程序模块的结合
2、能以尽量有效合理的方式组织管理计算机的软硬件资源
3、合理地组织计算机的工作流程,控制程序的执行并向用户提供服务功能
4、使用户能够灵活方便的使用计算机
有效:CPU不空闲,资源利用率
合理:各软硬件资源管理公平合理
方便使用:用户界面、编程接口
OS是资源的管理者
硬件资源:CPU、内存、IO设备等
软件资源:文件、信息
跟踪资源的使用状况、确定资源分配策略(算法)
静态分配(进程执行前事先分配)
动态分配(进程执行中申请资源,由操作系统决定分配)
资源的分配和回收
提高资源利用率
保护资源的使用
协调多个进程对资源请求的冲突
从资源管理的角度——五大基本功能
1、进程/线程管理
2、存储管理
3、文件管理
4、设备管理
5、用户接口
操作系统位于硬件与应用程序之间
操作系统的特征
并发、共享、虚拟、随机
并发:处理多个同时性活动的能力。宏观上并行,微观上串行
共享:操作系统与多个用户程序共同使用计算机资源,合理分配资源,在一个时间段内交替被多个进程使用
虚拟:一个物理实体被抽象成若干个逻辑实体——分时或分空间
随机:无法预知事件发生的次序、每个进程执行的进度,难以重现系统在某个时刻的状态
操作系统架构另行总结