操作系统学习笔记(⼀)---操作系统简介
⽬录
Chapter1 操作系统简介
参考资料:操作系统概念(第9版&第7版)
例题
1.What are the three main purposes of an operating system?
1.Resource allocator 操作系统相当于⼀个资源管理器,管理计算机硬件。
2.Control program 控制程序,它是⼈机交互的媒介。
3.Kernel 内核,为程序运⾏提供了基础。
操作系统是管理计算机硬件的程序,它还为应⽤程序提供基础,并且充当计算机硬件和计算机⽤户的中介。
⼤型机的操作系统设计的主要⽬的是充分优化硬件的使⽤率,个⼈计算机的操作系统是为了能⽀持从复杂游戏到商业应⽤的各种事物,⼿持计算机的操作系统是为了给⽤户提供⼀个可以与计算机⽅便地交互并执⾏程序的环境。
功能:CPU调度器 物理内存管理 虚拟内存管理 ⽂件系统管理 中断处理与设备驱动
How does the distinction between kernel mode and user mode function as a rudimentary form of protection (security) system?
⽤户模式下只能执⾏⾮特权指令,如果在⽤户模式下试图执⾏特权指令,那么硬件并不执⾏该指令,⽽是认为该指令⾮法,并将其以陷阱(trap)的形式通知操作系统。
管理模式可以执⾏全部特权指令和⾮特权指令,具有访问所有资源并改变处理器状态的能⼒。
特权指令包括:转换到⽤户模式,I/O控制,定时器管理和中断管理等。
2.Which of the following instructions should be privileged?(特权)
a. Set value of timer. //设置定时器
b. Read the clock. //读时钟
c. Clear memory. //清空内存
d. Issue a trap instruction. //发出⼀个trap指令
e. Turn off interrupts. //关闭中断
f. Modify entries in device-statustable. //修改设备状态表中的条⽬
g. Switch from user to kernel mode. //从⽤户模式切换到内核模式
h. Access I/O device. //接⼊I/0设备
Answer: a c e f h
3.Distinguish between the client–server and peer-to-peer models of distributed systems.
Answer: client-server(客户机-服务器系统)是以⼀个PC端作为中⼼系统响应⽤户的需求,其节点不对等。P2P系统模式节点对等,任何⼀个都可以作为客户机或服务器,解决了服务器瓶颈问题。
计算机系统⼤致可分为4个组成部分:计算机硬件、操作系统、系统程序与应⽤程序、⽤户
其关系如图(text editor ⽂本编辑器)
硬件(hardware),如中央处理单元(central processing unit,CPU)、内存(memory)、输⼊输出设备(I/O devices),为系统提供基本的计算资源。
应⽤程序,如⽂本处理程序、编译器、⽹络浏览器规定了⽤户以何种⽅式使⽤这些资源。
操作系统控制和协调各⽤户的应⽤程序对硬件的使⽤。
⼀个⽐较公认的定义是:操作系统是⼀直运⾏在计算机上的程序(通常称为内核),其他程序则为系
统程序和应⽤程序。
现代通⽤计算机系统由⼀个或多个CPU和若⼲设备控制器通过共同的总线相连⽽成,该总线提供了对共享内存的访问。每个设备控制器负责⼀种特定类型的设备。CPU与设备控制器可以并发⼯作,并竞争内存周期。为了确保对共享内存的有序访问,需要内存控制器来协调对内存的访问。
概念整理:
bootstrap program(初始化程序/引导程序):打开电源或重启时,计算机都需要运⾏这个初始化程序,⽤于初始化操作系统的所有部分。
interrup(中断):事件的发⽣通常通过硬件或软件中断表⽰。硬件可随时通通过系统总线向CPU发出信号以触发中断,软件通过执⾏特别操作如系统调⽤(system call/monitor call)来触发系统中断。
当CPU中断时,它暂停正在做的事并⽴即转到固定的位置去继续执⾏。该固定位置通常是中断服务程序开始位置的地址。中断服务程序开始执⾏,执⾏完后,CPU重新执⾏被中断的计算。
存储结构:
随机访问内存(random access memory,RAM)
动态随机访问内存(dynamic random access memory,DRAM)
内存通常是⽤DRAM的半导体技术来实现的。
内存是易失性存储设备,所以计算机系统会提供辅存(secondary storage)以作为内存的扩充。如磁盘(magnetic disk),绝⼤多数程序会保存在磁盘上,直到要执⾏时才装⼊到内存。
I/O结构
①I/O中断驱动:适合移动少量数据
②DMA(direct memory access,直接内存访问)⽤于⼤块的数据移动
单处理器系统和多处理器系统:
单处理器系统中,有⼀个主CPU能够执⾏⼀个通⽤指令集。⼀般以专⽤设备处理器的形式出现,如磁盘、键盘、图形控制器。
多处理器系统(并⾏系统(parallel system) 或 紧耦合系统(tightly coupled system))有多个紧密通信的CPU,共享计算机总线(有时还有时钟、内存、外设等)
多处理器系统有是三个主要优点:
①增加吞吐量:更短的时间做更多的事
②规模经济:共享资源的好处
③增加可靠性:分担故障
分类:主要有两类
⾮对称多处理(asymmetric multiprocessing):即每个处理器都有各⾃特定的任务。⼀个主处理器控制系统,其他处理器或者向主处理器要任务或做预先定义的任务。即主-从关系,主处理器调度从处理器并安排⼯作。
对称多处理(symmetric multiprocessing,SMP):处理器对等
双重操作模式:
⽤户模式(user mode)
内核模式(kernel mode / supervisor mode / system mode / privileged mode)
在计算机硬件中增加⼀个模式位(mode bit)以表⽰当前模式:内核模式(0),⽤户模式(1)
特权指令(privileged instruction):会引起损害的机器指令。如果在⽤户模式下试图执⾏特权指令,那么硬件将不会执⾏该指令,⽽是认为该指令⾮法,并将其以trap的形式通知OS。
user mode 转 kernel mode 不是特权指令
kernel mode 转 user mode 是特权指令学编程用什么电脑最合适
分布式系统(Distributed Systems)
分布式系统是⼀组物理上分开的,各种可能异构的计算机系统通过⽹络连接在⼀起为⽤户提供系统所维护的各种资源的计算机的集合。访问共享资源增加了计算速度、功能、数据可⽤性以及可靠性。
TCP/IP协议是最常⽤的⽹络协议,对于操作系统⽽⾔,⼀个⽹络协议只简单地需要⼀个接⼝设备,如⽹络适配器,加上管理它的驱动程序以及按⽹络协议处理数据的软件。
⽹络可根据节点间的距离来划分:局域⽹(local-area network,LAN)位于⼀个房间、⼀层楼或⼀栋楼内。⼴域⽹(wide-area netword,WAN)通常位于楼、城市或国家之间。新型⽹络有蓝⽛(BlueTooth)---实现数⽶内⽆线通信,等。
客户机-服务器计算----------
client-server系统 & P2P系统 都属于分布式系统
Chapter2 操作系统结构
QUESTION:
1、操作系统为⽤户、进程和其他系统提供了什么服务?
2、组织操作系统的⽅法?
3、操作系统是如何安装、定制以及启动的?
例题
1.What is the purpose of system calls?
Answer:
系统调⽤提供了进程与操作系统间的接⼝,其⽬的就是让⽤户级空间能够请求系统级的服务。⽐如编写⼀个从⼀个⽂件读取数据并复制到另⼀个⽂件的简单程序,对于交互系统,这过程需要⼀系列的系统调⽤:⾸先在屏幕上写出提⽰信息,再从键盘上读取定义两个⽂件名称的字符。这个过程就需要许
多I/O系统调⽤。后续也还需要许多各⽅⾯的系统调⽤,从中即可看出,系统调⽤的作⽤就是让⽤户级的进程能够请求操作系统的服务。
2.What are the three major activities of an operating system with regard to memory management? (内存管理)
Answer:
① 记录内存的哪些部分正在被使⽤以及被谁使⽤
② 当有内存空间时,决定哪些进程可以装载进内存
③ 根据需要分配和释放内存
or
1) 按需分配与释放回收内存
2) job调度:当内存空间可⽤,决定将哪些进程调度⼊内存
3) 跟踪内存的使⽤情况,即追踪内存的哪⼀部分被使⽤,使⽤对象是谁
3.What are the three major activities of an operating system with regard to secondary-storage management? ()(⼆级存储/辅存)
Answer:
1) 对空闲的存储空间进⾏管理
2) 给待存储的对象分配合适的存储空间
3) 管理磁盘的调度
4.What system calls have to be executed by a command interpreter or shell in order to start a new process?
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论