zoukankan      html  css  js  c++  java
  • 计算机操作系统学习(一)

    1.系统中所有的信息,包括磁盘文件、存储器中的程序、存储器中存放的用户数据以及网络上传输的数据,都是由一串位表示的,区分不同对象的唯一方法就是我们都到这些数据对象时的上下文。

    2.程序的生命周期都是从高级语言(如C语言)开始的,因为这种形式能够被人读懂,但是为了在系统中运行程序,每条高级语言源程序都必须被其他程序转化为一系列的低级机器语言指令,然后这写指令按照一种称为可执行目标程序的格式打包好,并且以二进制磁盘文件的形式存放起来,目标程序也称为可执行目标文件。

    3.将一个源程序翻译成可执行目标文件,翻译过程可以分为4个阶段:预处理、编译、汇编、链接。

       1)预处理,预处理器根据以字符#开头的指令,修改原始的程序,比如:#include<stdio.h>。

       2)编译,编译器将预处理得到的文本文件翻译成汇编语言的文本文件。

       3)汇编,汇编器汇编语言的文本文件翻译成机器语言指令,并且把这些指令打包成可重定位目标程序的格式,并且将结果以二进制的形式保存在.o文件中,它的字节编码是机器指令不是字符,所以文本编辑器打开是乱码。

       4)链接,源程序需要用到一些库函数,则在链接阶段,连接器把需要用到的函数以.o文件的形式链接到可执行目标文件中。目标文件可以被加载到内存中执行。

    4.计算机系统的硬件组成:总线、I/O设备、主存、处理器。

       1)总线,一组电子管道,它携带字节信息在各个部件之间传递,总线通常被设计成传送定长的字节块,也就是字,字中的字节数是一个基本的系统参数,大多数系统是4字节,有的是8字节。

       2)I/O设备,I/O设备是系统与外界联系的通道,I/O设备包括键盘、鼠标、显示器以及长期存储数据和程序的磁盘。I/O设备一般通过控制器或者适配器与总线相连,适配器和控制器的区别就是:控制器是置于I/O设备本身或者系统主板上面的芯片组,适配器是一块插在主板插槽上面的卡。

       3)主存,临时存储设备,处理器执行程序时,主存存储程序和程序处理的数据,从物理上面讲,主存是动态随机读取存储器,从逻辑上讲,主存是线性的字节数组,每个字节都有唯一的地址,它们的地址是从零开始的。

       4)处理器,中央处理单元简称为处理器,它是解释或者执行存储在主存中的指令的引擎,处理器的核心是一个字长的存储设备(或寄存器,寄存器是CPU里的存储单元,与CPU离得近,所以CPU在运算时通常都会用寄存器当中转站),也称作程序计数器(PC),任何时候PC都指向主存中某条机器指令(即存储指令的地址)。PC从主存中读取指令,解释并且执行指令,然后更新PC指向下一条指令。

    5.运行速度最快的就是寄存器,因为寄存器是属于CPU内部的元器件,我们所说的运行速度是针对于其他元件于CPU交换数据的快慢来定义的,就是因为寄存器在CPU内部,所以他的速度最快。

    6.在处理器和又大又慢的存储设备之间插入一个又快又小的存储设备已经成为一种趋势,这种插入的设备叫做高速缓存,一种叫做静态访问存储器的硬件技术,比较新比较强大的操作系统有三级高速缓存:L1、L2、L3。

    7.操作系统管理硬件:

       1)防止硬件被失控的应用程序滥用;

       2)向应用程序提供简单一致的机制控制复杂又大相径庭的低级硬件设备。

    8.操作系统通过几个抽象的概念来实现上述的两个功能:

       1)文件,指I/O设备;

       2)虚拟存储器,指主存和文件。

       3)进程,指处理器和虚拟存储器。

    9.进程,操作系统对正在运行的程序的一种抽象,一个系统可以运行多个进程,CPU好像并发的处理多个进程,这是通过CPU在进程之间切换来是实现的,操作系统这种交错执行的机制叫做上下文切换,操作系统保持跟踪进程运行所需的全部状态信息,这种状态就是上下文。当操作系统要从一个进程切换到另外一个进程的时候,就要进行上下文切换,保存当前进程的上下文,恢复新进程的上下文,把控制权转交给新进程。

    10.线程,一个进程由多个称为线程的单元组成,每个线程都运行在进程的上下文中,并且共享进程的代码和全局数据。因为多线程更容易共享数据,且线程比进程更加高效,所以一般在多处理器的时候,多线程也是一种更快的处理办法。

    11.虚拟存储器,一种抽象概念,它为每一个进程提供一个假象,每个进程都独占地使用主存,每个进程看到的存储器的空间都是一致的,称作虚拟地址空间。

  • 相关阅读:
    hdoj 1305字典树水题之二
    nyoj 547 水池加水 priority_queue优先级队列初体验
    nyoj167 找奶牛病毒 “按位或”运算 递归
    HDOJ4525 吃鸡腿 腾讯马拉松(五)
    hdoj 4523 切蛋糕 腾讯马拉松 大数加法比较
    如何学好3D游戏引擎编程《转自3D游戏引擎网》
    priority_queue 优先级队列的基本应用和重载问题
    poj1611 传染病 并查集
    srand((unsigned)time(NULL))和rand()
    最近被一个windows mobile照相的问题给难住了
  • 原文地址:https://www.cnblogs.com/cy568searchx/p/3952184.html
Copyright © 2011-2022 走看看