计算机操作系统到底学的是什么
2017-07-06 · 知道合伙人互联网行家
计算机操作系统是计算机系统中硬件之上的第一层系统软件,负责计算机系统中各类资源的管理和控制。
计算机操作系统到底学的内容有:
系统中所有的信息,包括磁盘文件、存储器中的程序、存储器中存放的用户数据以及网络上传输的数据,都是由一串位表示的,区分不同对象的唯一方法就是我们都到这些数据对象时的上下文。
程序的生命周期都是从高级语言(如C语言)开始的,因为这种形式能够被人读懂,但是为了在系统中运行程序,每条高级语言源程序都必须被其他程序转化为一系列的低级机器语言指令,然后这写指令按照一种称为可执行目标程序的格式打包好,并且以二进制磁盘文件的形式存放起来,目标程序也称为可执行目标文件。
将一个源程序翻译成可执行目标文件,翻译过程可以分为4个阶段:预处理、编译、汇编、链接。
A、预处理,预处理器根据以字符#开头的指令,修改原始的程序,比如:#include<stdio.h>。
B、编译,编译器将预处理得到的文本文件翻译成汇编语言的文本文件。
C、汇编,汇编器汇编语言的文本文件翻译成机器语言指令,并且把这些指令打包成可重定位目标程序的格式,并且将结果以二进制的形式保存在.o文件中,它的字节编码是机器指令不是字符,所以文本编辑器打开是乱码。
D、链接,源程序需要用到一些库函数,则在链接阶段,连接器把需要用到的函数以.o文件的形式链接到可执行目标文件中。目标文件可以被加载到内存中执行。
计算机系统的硬件组成:总线、I/O设备、主存、处理器。
A、总线,一组电子管道,它携带字节信息在各个部件之间传递,总线通常被设计成传送定长的字节块,也就是字,字中的字节数是一个基本的系统参数,大多数系统是4字节,有的是8字节。
B、I/O设备,I/O设备是系统与外界联系的通道,I/O设备包括键盘、鼠标、显示器以及长期存储数据和程序的磁盘。I/O设备一般通过控制器或者适配器与总线相连,适配器和控制器的区别就是:控制器是置于I/O设备本身或者系统主板上面的芯片组,适配器是一块插在主板插槽上面的卡。
C、主存,临时存储设备,处理器执行程序时,主存存储程序和程序处理的数据,从物理上面讲,主存是动态随机读取存储器,从逻辑上讲,主存是线性的字节数组,每个字节都有唯一的地址,它们的地址是从零开始的。
D、处理器,中央处理单元简称为处理器,它是解释或者执行存储在主存中的指令的引擎,处理器的核心是一个字长的存储设备(或寄存器,寄存器是CPU里的存储单元,与CPU离得近,所以CPU在运算时通常都会用寄存器当中转站),也称作程序计数器(PC),任何时候PC都指向主存中某条机器指令(即存储指令的地址)。PC从主存中读取指令,解释并且执行指令,然后更新PC指向下一条指令。
运行速度最快的就是寄存器,因为寄存器是属于CPU内部的元器件,我们所说的运行速度是针对于其他元件于CPU交换数据的快慢来定义的,就是因为寄存器在CPU内部,所以他的速度最快。
在处理器和又大又慢的存储设备之间插入一个又快又小的存储设备已经成为一种趋势,这种插入的设备叫做高速缓存,一种叫做静态访问存储器的硬件技术,比较新比较强大的操作系统有三级高速缓存:L1、L2、L3。
操作系统管理硬件:
A、防止硬件被失控的应用程序滥用。
B、向应用程序提供简单一致的机制控制复杂又大相径庭的低级硬件设备。
操作系统通过几个抽象的概念来实现上述的两个功能:
A、文件,指I/O设备。
B、虚拟存储器,指主存和文件。
C、进程,指处理器和虚拟存储器。
进程,操作系统对正在运行的程序的一种抽象,一个系统可以运行多个进程,CPU好像并发的处理多个进程,这是通过CPU在进程之间切换来是实现的,操作系统这种交错执行的机制叫做上下文切换,操作系统保持跟踪进程运行所需的全部状态信息,这种状态就是上下文。当操作系统要从一个进程切换到另外一个进程的时候,就要进行上下文切换,保存当前进程的上下文,恢复新进程的上下文,把控制权转交给新进程。
线程,一个进程由多个称为线程的单元组成,每个线程都运行在进程的上下文中,并且共享进程的代码和全局数据。因为多线程更容易共享数据,且线程比进程更加高效,所以一般在多处理器的时候,多线程也是一种更快的处理办法。
虚拟存储器,一种抽象概念,它为每一个进程提供一个假象,每个进程都独占地使用主存,每个进程看到的存储器的空间都是一致的,称作虚拟地址空间。
注:计算机操作系统学的内容结尾系统性文化知识。是实际应用中计算机实践操作的基础。
你在图书网站随便搜本书,看看目录会明晰一下讲的内容。
一般学校老师都讲得纯理论。计算机操作系统不是教你怎么用Linux和Windows。而是告诉你他们底层的工作原理。
给你介绍本比较经典的书
计算机操作系统
作 者:汤子瀛 梁红兵 汤小丹著
出 版 社:西安电子科技大学出版社
出版日期:2007-05
目录如下
第一章??操作系统引论
1.?1??操作系统的目标和作用
1.?1.?1??操作系统的目标
1.?1.?2??操作系统的作用
1.?1.?3??推动操作系统发展的主要动力
1.?2??操作系统的发展过程
1.?2.?1??无操作系统的计算机系统
1.?2.?2??单道批处理系统
1.?2.?3??多道批处理系统
1.?2.?4??分时系统
1.?2.?5??实时系统
1.?3??操作系统的基本特性
1.?3.?1??并发(concunence)
1.?3.?2??共享(sharing)
1.?3.?3??虚拟(virtual)
1.?3.?4??异步性(asynchronism)
1.?4??操作系统的主要功能
1.?4.?1??处理机管理功能
1.?4.?2??存储器管理功能
1.?4.?3??设备管理功能
1.?4.?4??文件管理功能
1.?4.?5??用户接口
1.?5??操作系统的结构设计
1.?5.?1??软件工程的基本概念
1.?5.?2??传统的操作系统结构
1.?5.?3??微内核os结构
习题
第二章??进程管理
2.?1??进程的基本概念
2.?1.?1??程序的顺序执行及其特征
2.?1.?2??前趋图
2.?1.?3??程序的并发执行及其特征
2.?1.?4??进程的特征与状态
2.?1.?5??进程控制块
2.?2??进程控制
2.?2.?1??进程的创建
2.?2.?2??进程的终止
2.?2.?3??进程的阻塞与唤醒
2.?2.?4??进程的挂起与激活
2.?3??进程同步
2.?3.?1??进程同步的基本概念
2.?3.?2??信号量机制
2.?3.?3??信号量的应用
2.?4??经典进程的同步问题
2.?4.?1??生产者一消费者问题
2.?4.?2??哲学家进餐问题
2.?4.?3??读者一写者问题
2.?5??管程机制
2.?5.?1??管程的基本概念
2.?5.?2??利用管程解决生产者一消费者问题
2.?6??进程通信
2.?6.?1??进程通信的类型
2.?6.?2??消息传递通信的实现方法
2.?6.?3??消息传递系统实现中的若干问题
2.?6.?4??消息缓冲队列通信机制
2.?7??线程
哈哈~~~
操作系统(OS)学的基本上都比较低层了,大致就是在计算机硬件上上搭载一个平台,并且给予上层接口,使上层的软件可以操作计算机~~
操作系统存在广泛性,从小型机到大型机使用的系统都是不同的,微机上常见的OS诸如Linux,Mac OS X,Windows,DOS,Solaris,BSD,OS/2等,一般中型机以上的就都是运行Unix或者类Unix系统了~~
目前Top500的机子里大多数使用的都是Linux系统~~