zoukankan      html  css  js  c++  java
  • 计算机基础

    1、编程语言的作用及与操作系统和硬件的关系

    编程语言俗称“计算机语言”,种类非常的多,总的来说可以分成机器语言、汇编语言、高级语言三大类。电脑每做的一次动作,一个步骤,都是按照已经用计算机语言编好的程序来执行的,程序是计算机要执行的指令的集合,而程序全部都是用我们所掌握的语言来编写的。所以人们要控制计算机一定要通过计算机语言向计算机发出命令。 目前通用的编程语言有两种形式:汇编语言和高级语言。常用的高级语言有:C(面向过程),C++(面向过程和面向对象都有),JAVA(面向对象),PYTHON(面向对象,解释型语言),高级语言编写的程序要让计算机编译执行,首先翻译成汇编语言,再翻译成计算机所理解的机器代码(0和1)

    操作系统:(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行

    编程语言和操作系统与硬件的关系:操作系统(Linux)是由底层的汇编,C,C++代码写成,管理者各种硬件和应用软件资源,高级语言编写的应用软件通过调用API来与硬件进行交互。

     

    2、应用程序-》操作系统-》硬件

    应用程序是应用软件,通过调用操作系统的API(应用程序编程接口)和硬件进行交互,操作系统是系统软件,负责管理计算机的硬件和软件资源。

    3、cpu-》内存-》磁盘

    CPU,是由运算器和控制器组成,相当于人的大脑,内存是临时存储的空间,相当于模式记忆,磁盘是永久存储的空间

    4、cpu与寄存器,内核态与用户态及如何切换

    寄存器(Cache)是CPU内部集成的,内存是挂在CPU外面的数据总线上的,访问内存时要在CPU的寄存器(Cache)填上地址,再执行相应的汇编指令,这时CPU会在数据总线上生成读取或写入内存数据的时钟信号,最终内存的内容会被CPU寄存器(Cache)的内容更新(写入)或者被读入CPU的寄存器(Cache)(读取)。

    用户态是指进程在用户代码中运行。内核态是指进程进入内核代码,执行内核的代码。从用户态到内核态的转换情况一般有以下三种:

    (1)发生系统调用;(2)CPU执行异常;(3)外围设备发来中断请求

    进程切换,是指CPU执行一个进程A,进程A可能因为某些原因被阻塞(比如,等待进程B给它发送数据),那么CPU会被其他处于就绪状态的进程C抢占CPU,CPU执行进程C的相关指令。 CPU执行进程A的指令到执行进程C指令的过程就是进程切换。

     

    5、存储器系列,L1缓存,L2缓存,内存(RAM),EEPROM和闪存,CMOS与BIOS电池

    存储器(Memory)是现代信息技术中用于保存信息的记忆设备

    L1缓存即一级缓存,L2缓存即二级缓存

    EEPROM是只读存储器,EEPROM与闪存不同的是,它能在字节水平上进行删除和重写而不是整个芯片擦写,这样闪存就比EEPROM的更新速度快。由于其断电时仍能保存数据,闪存通常被用来保存设置信息。

    BIOS保存着基本输入输出系统(I/O),开电自检程序等等

    CMOS保存着BIOS的各种信息,包括计算机关机时,保存计算机的更新时间,及时校正,BIOS电池给CMOS系统供电

    6、磁盘结构,平均寻道时间,平均延迟时间,虚拟内存与MMU

    磁盘结构:它是一种机械装置,在磁盘中有一个或多个金属盘片,它们以5400,7200或10800rpm(RPM =revolutions per minute 每分钟多少转 )的速度旋转

    平均寻道时间:磁头从开始移动到移动到数据所在磁道所需要的平均时间;

    平均延迟时间:系统发出数据请求,到硬盘完成数据返回的时间;

    虚拟内存:当程序运行数据超出物理内存容纳限度的时候,部分数据就会自行“溢出”,这时系统就会将硬盘上的部分空间模拟成内存——虚拟内存,并将暂时不运行的程序或 不使用的数据存放到这部分空间之中,等待需要的时候方便及时调用。

     MMU:是内存管理单元,负责管理虚拟内存和物理内存的控制线路,同时负责把虚拟地址映射为物理地址。

    7、磁带

    是一种用于记录声音、图像、数字或其他信号的载有磁层的带状材料,主要特点是:用来备份,容量大。

    8、设备驱动

    是操作系统和输入输出设备间的粘合剂。驱动负责将操作系统的请求传输,转化为特定物理设备控制器能够理解的命令。简单理解为计算机各个配件与操作系统之间的纽带,设备驱动通常由C++,C,汇编语言写成。

    CPU中的控制器是整个CPU的指挥控制中心,由指令寄存器IR(InstructionRegister)、程序计数器PC(ProgramCounter)和操作控制器OC(OperationController)三个部件组成。

    9、总线与南桥和北桥

    总线:是计算机各种功能部件之间传送信息的公共通信干线

    北桥芯片的学名是图形与内存控制器,北桥芯片连接CPU,内存等,运行速度快,

    南桥的学名是“输入/输出控制器”,连接鼠标,键盘和显示器,运行速度相对北桥芯片慢

    10、操作系统的启动流程

    开机执行BIOS(基本输入输出系统)引导程序,这个过程叫做系统自检,标识和配置所有的即插即用设备,并配置DMA通道;完成加电自检,测试内存,端口,键盘,视频适配器,磁盘驱动器等基本设备,以及CD-ROM驱动器;对引导驱动器可引导分区定位:在CMOS(complementary metal oxide semiconductor,互补金属氧化物半导体)中,可以自行设置引导顺序,一般顺序是软驱,磁盘,光驱;加载主引导记录以及引导驱动器的分区表,执行主引导记录MBR,主引导记录在硬盘上找到可引导分区,将其分区引导记录装入内存,并将控制权交给分区引导记录,由分区引导记录定位根目录,然后装入操作系统。

    11、应用程序的启动流程

    以Windows为例,用鼠标双击桌面上的快捷方式图标,快捷方式相当于给计算机发了一个指令, 指向可执行程序(.exe文件)的路径,然后运行可执行文件,可执行文件调用操作系统的API(应用程序编程
    接口),应用程序转化成汇编指令再翻译成机器指令来执行。




     

    你现在所遭遇的每一个不幸,都来自一个不肯努力的曾经。大数据SRE(运维开发)学习交流群239963844
  • 相关阅读:
    linux网络编程 inet_aton(); inet_aton; inet_addr;
    linux网络编程 ntohs, ntohl, htons,htonl inet_aton等详解
    linux C++ scandir 的使用
    linux 多线程编程-读写者问题
    为什么修改头文件make不重新编译
    syslog(),closelog()与openlog()--日志操作函数
    VC:CString用法整理(转载)
    VC6.0实用小技巧
    HTml js 生成图片
    C++中两个类相互包含引用问题
  • 原文地址:https://www.cnblogs.com/bingabcd/p/6531371.html
Copyright © 2011-2022 走看看