zoukankan      html  css  js  c++  java
  • 第一篇:基础原理篇

    1、计算机程序怎么运行的?

        (1)编程:(计算机程序设计语言作为基础。)(2)编译:(由于计算机并不认识高级语言编写的程序,编写好的程序需要进行编译编程计算机能够识别的机器语言程序,而这个就需要编译器和汇编器的帮助)(3)加载到内存:(机器语言需要加载到内存才能真正的执行,而将进程调度到CPU上运行才是真正的执行。)(4)cup上执行的机器语言需要变成能够在一个个时钟脉冲里执行的基本操作,这需要指令集结构和计算机硬件的支持,而整个程序的执行过程还需要操作系统的服务和程序语言提供的执行环境。

    这样一个从程序到微指令执行的过程就完成了。

    2、什么是操作系统?

        操作系统是介于计算机和应用软件之间的一个软件系统。(其上面和下面都有别的对象存在:下面是硬件平台,上面是应用软件)

    3、管理者:

        CPU管理:及如何分配cpui给不同的用户和应用

        内存管理:分配内存

        外存管理:分配外存(磁盘)

        i/o管理:分配输入输出设备给用户和应用

    除了对上述资源进行管理和抽象外,操作系统作为掌控一切的软件系统,其自身必须是稳定的。

        健壮性管理:如何确保操作系统自身的正常运作

        安全性管理:即如何防止非法操作和入侵

    4、用户程序和操作系统:

        操作系统通过虚拟机界面为用户程序提供各种服务,用户程序在运行过程中不断使用操作系统提供的服务来完成自己的任务。

    5、操作系统管理范畴:

        cpu管理:即如何分配cpu给不同的应用和用户。

        内存管理:即如何分配内存给不同的应用和用户。

        外存管理:分配外存,给不同应用和用户。

        i/o管理:分配输入输出设备。

        cpu管理就是将要介绍的进程管理。(进程管理的主要目的有3个:(1)每一个程序都有机会使用cpu(2)非阻塞:即任何程序不能无休止的阻挠其他程序正常推进。如果一个程序在运行过程中需要输入输出或者因别的阻挠其他程序的事情而发生的阻塞,这个阻塞不能妨碍别的进程继续推进。(3)优先级:就是某些程序比另外一些程序的优先级高,如果优先级高的程序开始运行,则优先级低的程序就要让出资源。)

        内存管理:主要是管理缓存,主存,磁盘,等存储介质所形成的内存架构。为此目的,操作系统成员发明了虚拟内存的概念,即将物理内存(缓存和主存)扩充到外部存储介质(磁盘,光盘,磁带)上。这样内存空间就大大增加了,能够运行的程序大小就变大了。内存管理的另外一个目的是让跟多程序共享一个物理内存。这就需要对物理内存进行分割和保护,不让另一个程序访问另一个程序所占的内存空间,专业术语称为运行时不能越界。

        i/o管理:也成为设备管理:(1)屏蔽不同设备的差异性,即用户用同样的方式访问不同的设备,从而降低编程的难度(2)提供并发访问,即将那些看上去并不具备特行的设备变得可以共享。

        批处理:提供一种无需人际交互的程序运行模式,达到1吞吐量最大。

  • 相关阅读:
    Git
    linux下利用virtualenv搭建虚拟环境
    Session和Cookie
    Redis
    从零开始学Go之基本(二):包、函数声明与格式化输出
    从零开始学Go之HelloWorld
    C++ vector容器使用
    FIRST集和FOLLOW集的计算
    go编译错误:runnerw.exe:CreateProcess failed with error 216:
    Linux下vi编辑器常用命令
  • 原文地址:https://www.cnblogs.com/yjds/p/8597383.html
Copyright © 2011-2022 走看看