Week1-操作系统概述-Coursera北大操作系统课程-个人笔记


  本笔记是基于Coursera的北大操作系统课程,感觉这是一门很基础很概念的课,看似没什么高深的数学内容,但其实每个部分都包含很细致的算法精华,有兴趣的同学可以根据相关概念的关键字扩展学习。笔记大部分内容是老师讲义PPT的内容,图片也大多来自视频截图。如有错误,欢迎大家讨论和指正。

1. 操作系统做了什么?

  以c++的helloworld程序为例
  1).用户告诉操作系统执行helloworld程序(如何告知?)
  2).操作系统:找到程序的相关信息,检查其类型是否是可执行文件;并通过程序首部信息,确定代码和数据在可执行文件中的位置并计算出对应的磁盘块地址(可执行文件格式?)
  3).操作系统:创建一个新的进程,并将helloworld可执行文件映射到该进程结构,表示由该进程执行helloworld程序
  4).操作系统:为helloworld程序设置CPU上下文环境,并跳到程序开始处(假设调度程序选中helloworld程序)
  5).执行helloworld程序的第一条指令,发生缺页异常
  6).操作系统:分配一页物理内存,并将代码从磁盘读入内存,然后继续执行helloworld程序。如果程序很大,则会产生多次缺页异常,多次读入内存。
  7).Helloworld程序执行puts函数(系统调用),在显示器上写一字符串。
  8).操作系统:找到要将字符串送往的显示设备,通常设备是由一个进程控制的,所以,操作系统将要写的字符串送给该进程。
  9).操作系统:控制设备的进程告诉设备的窗口系统,他要显示字符串,窗口系统确定这是一个合法的操作,然后将字符串转化成像素,将像素写入设备的存储映像区
  10).视频硬件将像素转换成显示器可接受的一组控制数据信号
  11).显示器解释信号,激发液晶屏
  12).然后在屏幕上就可以看到“hello world”了。
在这里插入图片描述在这里插入图片描述

2. 操作系统的定义与作用

2.1操作系统的定义

   操作系统是计算机系统中的一个系统软件,是一些程序模块的集合:
   1).它们能以尽量有效、合理的方式组织和管理计算机的软硬件资源;
   2).合理地组织计算机的工作流程,控制程序的执行 并在程序执行的过程中向程序提供各种各样的服务功能;
   3).使得用户能够非常灵活、方便地使用计算机,使整个的计算机系统能够高效率地运行
  
   关键词:
   1).有效:系统效率,资源利用率
   CPU利用率是否高?I/O设备是否忙碌?
   2).合理:各种软硬件资源的管理是否公平合理
   不公平、不合理会产生什么问题?
   3).方便使用:两种角度,用户界面与编程接口。

2.2 操作系统的作用

  1).资源的管理者→有效
   操作系统管理什么资源?
  硬件资源:CPU、内存、设备(I/O设备、磁盘、时钟、网卡等)
  软件资源:磁盘上的文件、各类管理信息
  
   操作系统如何管理资源?
   i. 跟踪记录资源的使用状况——数据结构
   如:哪些资源空闲,分配给谁使用,允许使用多长时间等。
   ii. 确定资源

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值