• 操作系统基本概念


    1、计算机硬件基本知识:

        从概念上讲,计算机的结构非常简单:首先布置一跟总线,然后将各种硬件设备挂在总线上。所有的这些设备都有一个控制设备,外部设备都由这些控制器与CPU通信。而所有设备之间的通信均需要通过总线。

        麦库截图20171617163821768.jpg 

        为了提高计算机的效率,人们又设计出了流水线结构,即仿照工业流水装配线,将计算机的功能部件分为多个梯级,并将计算机的每条指令分拆为同样多个步骤,使每条指令在流水线上流动,到流水线最后一个梯级时指令拆分完毕。流水线上的每一个梯级都可以容纳一个指令并同时运行。

        麦库截图20171617164114895.jpg 

        为了进一步的提高计算机的效率,在流水线的基础上,人们又发明了许多流水线、超标量计算和超长指令字等多指令发射机制。这些机制的发明在提升计算机效率的同时,也极大的增加了计算机结构的复杂度,并对操作系统和编译器体出了更高的要求。

    2、内核态和用户态:

        就像社会中,位于核心的人和位于社会边缘的人。

        内核态拥有的资源多的状态,称为特权态。相对来说,用户态就是非特权态,在这种状态下,访问的资源将受到限制。

    3、态势的判别:

        那么计算机是如何知道正在运转的程序是内核态程序?

    显然作出这种判断需要某种标志。这个标志就是1处理器的一个状态位。这个状态位就是cpu状态字里面的一个字位。也就是说,所谓的用户态,内湖台就是处理器上的一种状态,而不是程序的状态。我们通过设置状态字,可以将cpu设置为内核态,用户态或者其他程序的状态。一个程序运行时,cp是什么态,这个程序就运行在什么态。

    4、内核态和用户态的实现:

        内核态是特权态,而用户态是普通态。特权态下运行的程序可以访问而任何资源,而用户态下的访问则受到限制。那么这种限制是如何实现的?

        要限制一个程序对资源的访问,需要对程序执行的每一条指令进行检查才能完成。而这种检查就是地址翻译

    5、进程,内存,文件:

        进程是操作系统里面的核心概念。他指的是一个运动中的程序。从名字连看,进程表示的就是进展中的程序。一个程序一旦在计算机中运行1起来,它就成为一个进程。操作系统对进程的管理通过进程表来实现。进程表理存放的是关于进程的一切信息。在任何时候,进程所占有的全部资源,包括分配给进程的内存,内核数据结构和软资源形成一个进程核。核快照代表的是进程在某一特定时刻的状态。

        进程与进程之间可以相互通信,同步,竞争,并在一定情况下可能形成死锁。这些概念1都将在下一篇讲述。

        内存是操作系统里面的另一个核心概念。它是进程的存放场所。如何对内存进行管理,使得数据的读写具有高效率,高安全,高空间利用率和位置透明的特性1是内存管理所要达到的目的。

        文件是1操作系统提供的外部存储设备的抽象,它是程序1和数据的最终存放地点。如何让用户的数据存放变的1更加容易,方便,可靠1和安全都是文件系统的问题。

    6、系统调用:

        就是操作系统(os)提供的应用程序界面(API)用户程序通过调用这些API获得操作系统的服务。

        result=read(fd,buffer,nbytes);

        这个read函数是C语言提供的库函数,而这个库函数本身是调用的操作系统的read系统调用。

        系统调用:按照功能分为6大类:

    (1)进程控制类

    (2)文件管理类

    (3)设备管理类

    (4)内存管理类

    (5)信息维护类

    (6)通信类

    系统调用一般不在操作系统原理的课程中论述,而是在操作系统编程或者系统编程中论述。这里我们简单的说一下系统调用的过程:

    (1)参数准备阶段

    (2)系统调用识别阶段

    (3)系统调用执行阶段

        在参数准备阶段,需要使用系统服务的程序将系统调用所需要的参数,如上述的fd,buffer,nbytes,压入栈中。然后调用read函数。

    7、壳:

    操作系统1是如何给用户程序提供服务?用户程序1通过调用操作系统提供的API来获得操作系统的各种服务。使用API需要编程。

  • 相关阅读:
    Hamming Distance(随机算法)
    Difference Between Primes
    Pet(dfs)
    29. Divide Two Integers
    28. Implement strStr()
    25. Reverse Nodes in k-Group
    24. Swap Nodes in Pairs
    23. Merge k Sorted Lists
    22. Generate Parentheses
    19. Remove Nth Node From End of List
  • 原文地址:https://www.cnblogs.com/yjds/p/8597389.html
Copyright © 2020-2023  润新知