CS,三,操作系统

       这章的标题好大,说到操作系统,windows肯定都用过喽,unix没用过也听过喽,linux什么的也听过喽,至于它们到达是什么样的操作系统呢?多任务操作系统。说操作系统,难道是讲怎么用吗?这里是CS好不好,又不是计算机操作教学。。呵呵,开个小差啦。大三的时候学过一本书,书名就叫操作系统,所以这一章,又可以说,够看一本书的了,呵呵。操作系统是用来协调计算机的内部活动以及检查计算机与外部世界通信的软件包,通过OS,能将计算机硬件转化为有用的工具,这章的目标是理解OS做哪些工作以及是如何完成这些工作的。

OS是控制计算机所有操作的软件,它提供了用户存储和检索文件的方法,提供了用户可以请求执行程序的接口,还提供了程序请求执行所必需的环境。

 

操作系统的历史

说最初的计算机程序是写在纸带上的,虽然没见过,但大家都信吧。那么当一个人像用计算机干事情的时候,他就必须把纸带制作好,然后全权拥有一台计算机的操作权限,使用读卡机读取程序,然后执行,得到结果,这称为一个“作业”好了。当好多人需要使用计算机的时候,大家得排队吧,于是这个时候的操作系统出现了,叫批处理系统,用于控制“作业”按先进先出的顺序执行。就干这些事,啥也不干。这种情况下,作业送到作业队列后,使用者就不能再与他的作业交互了。后来又出了个新的操作系统,它们允许执行一个程序来实现通过远程终端与用户对话,叫交互式处理系统。这时候用的还是一个主机,连接多个终端,也就是说一个主机,拥有多个用户在使用,如果只有一个用户,那么可以勉强理解为实时性,多个用户就无法做到了。针对这个问题,又设计了一种称为分时的操作系统,实现方法的一种为多道程序设计的技术,将时间分为时间片,每个作业的执行被限制为每次仅一个时间片,造成同时可以执行多个任务的错误。

现在的操作系统都是多用户多任务的了,GUI界面也很好看,易于操作,可是OS的核心工作就那么一点,分配工作,执行程序而已。其他的只不过是附加在操作系统之上的便于用户使用的系统工具而已。另外操作系统还提供了可以供开发人员调用操作系统功能的api接口,也就是调用硬件功能的方法。

另外说到安卓,塞班,ios,这些手机系统,大家也不陌生吧,它们也是操作系统,用于管理一个硬件系统的软件系统,都可以称之为操作系统。

 

操作系统的体系结构

这里是说操作系统的体系结构,并不是上章说的计算机的体系结构呀,那是硬件,这是软件。

下面要说的这个计算机软件分类,大家该熟透了:

 

这里不再说什么了,记几个名词好了,shell外壳,GUI图形用户界面,kernel核心。

操作系统的内核包含一些完成计算机安装所需求的基本功能的软件组件,如:文件管理程序,设备驱动程序,内存管理程序,调度程序,分派程序。这些名词听起来都好高大上的感觉,呵呵。

那么系统是如何启动的呢,一堆铁,如果你看计算机,简单的说,就是一堆铁喽,它接通电源之后,是如何开始运行操作系统的呢。在此之前,说cpu接通电源,可以执行程序,那么这里是不是接通电源之后,第一个执行的程序就是操作系统,当操作系统执行之后,我么就能使用操作系统了呢。CPU的设计使得每次CPU启动时,它的程序计数器都从事前确定的特定地址开始,CPU在这个地址上期望找到第一条指令,那么只要在这个地址上存储操作系统的开始地址不就好了嘛,但是计算机主存关机之后,内存上的数据就没有了,额,反正有点复杂。在一般的计算机中,称之为引导的程序永久的存储在计算机的ROM中,这样,在计算机开机的时候,最先执行这个程序,引导程序的任务就是引导CPU把操作系统从海量存储器中预先定义的位置调入主存的可变存储区中,一旦操作系统被放调入主存,引导程序就引导CPU执行跳转指令,转到这个存储器,开始执行操作系统这个程序,这样,操作系统就接管了计算机的活动。如果有最够大的ROM去放置整个操作系统,是不是就不需要从海量存储器中引导了呢,这样干的话,效率未必高,但是在家用电器的操作系统启动上,这样很快速的。具体其他的,不太懂,作罢。

 

协调机器的活动

本节讨论操作系统如何协调应用程序,实用软件以及操作系统自身内部单元的执行的。听起来很厉害的样子。

现代操作系统的一个基本的概念就是程序与可执行程序的行为区别开来,前者是一组静态的指示,后者是一动态的行为,其属性会随着时间的推进而改变,我们把这种行为称为进程。在典型的分时/多任务计算机系统中,许多进程通常会竞争计算机资源,而操作系统的任务就是管理这些进程。

与协调仅存的执行有关的任务是由操作系统内核中的调度程序和分派程序处理的。调度程序在主存中维护着一个信息块,称为进程表。分派程序是内核的一个组件,它确保被调度的进程实际被执行。每次,分派程序给进程分配一个时间片,它都会初始化一个计时器电路,当时间片结束,它产生一个中断信号给CPUCPU完成当前机器周期,然后停止当前的工作,保存中断位置的任务进展,开始执行中断处理程序,中断处理程序是分派程序的一部分,它用来描述分派程序如何响应中断请求。在学汇编的时候,曾经经常说IO中断什么的,大概都是这吧,不甚了解。。嘿嘿。。

 

处理进程间的竞争

操作系统的一个重要任务就是将机器的各种资源分配给系统中的进程,为了控制各进程都能顺利执行,而不会因为资源问题而导致无法执行,操作系统就必须设计算法来控制资源的分配。这里如果说几个名词,学过操作系统就肯定很熟,信号量,死锁,哲学家就餐问题,生产者消费者问题等等。呵呵,跳过喽。

 

安全性

这个貌似也没什么好说的,只说系统安全性的话,肯定离不开网络攻击和软件木马什么的了,黑客总是那么神秘,嘿嘿。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值