为何要学习计算机基础

一、什么是计算机?

计算机是一种能够按照指令对各种数据和信息进行自动加工和处理的电子设备。

电脑系统分为硬件和软件两大部分,硬件相当于人的身体,而软件相当于人的灵魂;而一套完整的计算机系统分为:计算机硬件,操作系统,软件(程序员开发的就是软件)

操作系统是用来调用、组织计算机的各硬件来运行工作的,而应用程序是基于操作系统之上的,操作系统也就相当于应用程序的运行平台,或是软件与硬件沟通的介质,由软件通过系统再由系统传递需要调用的硬件进行工作。

二、计算机的组成

计算机是由CPU、主板、内存、硬盘、显卡、电源、键盘鼠标等组成。

1.CPU:也称为中央处理器,是电脑运算的核心,好比人的大脑

2.主板:这是决定你电脑性能的重要零件之一

3.内存:当电脑工作时,电脑会在这里临时存储数据,相当于人的记忆

4.硬盘:永久存储;平常说的硬盘有多少G多少G,就是指这个硬盘的容量,而G数越多装的东西也越大

5.显卡:电脑通过显卡转送数据给显示器

6.电源:拱电脑各部件使用

7.键盘鼠标:向电脑输入有用的命令,让它们为我们工作

从基本结构上来讲,电脑可以分为五大部分:运算器、存储器、控制器、输入设备、输出设备。

计算机的大脑就是CPU,它从内存中取指令-->解码-->执行,然后再 取指令-->解码-->执行下一条命令,一直循环,直至整个程序被执行完成。如果说CPU同时处理QQ、快播、网易云音乐三个程序,那么会处理完第一条后再接着处理下一条,因为访问内存以得到指令或数据的时间比CPU执行指令花费的时间比较长,所以CPU内部会有一些用来保存关键变量和临时数据的寄存器,CPU的指令集可以把来自寄存器、内存的操作数据组合,或者用两者生产一个结果,比如将两个字相加并把结果存在寄存器或内存中。

寄存器:1.保存变量和临时结果的通用寄存器

    2.程序状态字寄存器(PSW),包含条码位、CPU优先级、模式(用户态或内核态),以及各种其他控制位。

  当一个任务执行系统调用而陷入内核代码中执行时,我们就称进程处于内核运行态(或内核态);当进程在执行用户自己的代码时,称其处于用户运行态(用户态)。

    3.用户态切换到内核态

  a.系统调用:用户态进程主动要求切换到内核态的一种方式

  b.异常:当CPU在执行运行在用户态下的进程时,发生了不可知的异常,这时会触发由当前运行进程切换到处理异常的内核相关程序中,也就切到内核态,比如缺页异常

 运行速度比较 

CPU > 内存 > 硬盘 如图

多线程和多核芯片

1.在cpu芯片中加入更大的缓存,一级缓存L1,用和cpu相同的材质制成,cpu访问它没有时延

2.一个cpu中的处理逻辑增多,多线程或超线程,对用户来说一个有两个线程的cpu就相当于两个cpu

3.除了多线程,还出现了2个或者4个完整处理器的cpu芯片

寄存器即L1缓存:与CPU一样快,32位和64位的两种情况下容量均<1KB

高速缓存即L2缓存:主要由硬件控制高速缓存的存取,内存中有高速缓存行按照0~64字节为行0,64~127为行1

主存,为存储器系统的主力,主存通常称为随机访问存储RAM,就是我们通常所说的内存,容量一直在不断攀升,所有不能再高速缓存中找到的,都会到主存中找,主存是易失性存储,断电后数据全部消失

除了主存RAM外,还有许多计算机在使用少量的非易失性随机访问存储如ROM,断电后存储内容不会丢失,ROM出厂就被编程完毕,不可修改。ROM速度快且便宜,使用于启动计算机的引导加载模块中

EEPROM(Electrically Erasable PROM,电可擦除可编程ROM)和闪存(flash memory)也是非易失性的,但是与ROM相反,他们可以擦除和重写。

CMOS,它是易失性的,许多计算机利用CMOS存储器来保持当前时间和日期,CMOS存储器和递增时间的电路由一小块电池驱动,所以,即使计算机没有加电,时间也仍然可以正确地更新,除此之外CMOS还可以保存配置的参数,比如,哪一个是启动磁盘等

磁盘低速的原因是因为它一种机械装置,在磁盘中有一个或多个金属盘片,它们以5400,7200或10800rpm(RPM =revolutions per minute 每分钟多少转 )的速度旋转。从边缘开始有一个机械臂悬在盘面上,这类似于老式黑胶唱片机上的拾音臂。信息卸载磁盘上的一些列的同心圆上,是一连串的2进制位(称为bit位),为了统计方法,8个bit称为一个字节bytes,1024bytes=1k,1024k=1M,1024M=1G,所以我们平时所说的磁盘容量最终指的就是磁盘能写多少个2进制位。

每个磁头可以读取一段换新区域,称为磁道

把一个戈丁手臂位置上所以的磁道合起来,组成一个柱面

每个磁道划成若干扇区,扇区典型的值是512字节

数据都存放于一段一段的扇区,即磁道这个圆圈的一小段圆圈,从磁盘读取一段数据需要经历寻道时间和延迟时间

平均寻道时间

机械手臂从一个柱面随机移动到相邻的柱面的时间成为寻到时间,找到了磁道就以为着招到了数据所在的那个圈圈,但是还不知道数据具体这个圆圈的具体位置

平均延迟时间

机械臂到达正确的磁道之后还必须等待旋转到数据所在的扇区下,这段时间成为延迟时间

总线

北桥即PCI桥:连接高速设备

南桥即ISA桥:连接慢速设备

资源单位  进程

执行单位  线程

启动计算机

在计算机的主板上有一个基本的输入输出程序(Basic  Input Output system)

BIOS就相当于一个小的操作系统,它有底层的I/O软件,包括读键盘,写屏幕,进行磁盘I/O,该程序存放于一非易失性闪存RAM中。

启动流程

1.计算机加电

2.BIOS开始运行,检测硬件:cpu、内存、硬盘等

3.BIOS读取CMOS存储器中的参数,选择启动设备

4.从启动设备上读取第一个扇区的内容(MBR主引导记录512字节,前446为引导信息,后64为分区信息,最后两个为标志位)

5.根据分区信息读入bootloader启动装载模块,启动操作系统

6.然后操作系统询问BIOS,以获得配置信息。对于每种设备,系统会检查其设备驱动程序是否存在,如果没有,系统则会要求用户按照设备驱动程序。一旦有了全部的设备驱动程序,操作系统就将它们调入内核。然后初始有关的表格(如进程表),穿件需要的进程,并在每个终端上启动登录程序或GUI

时间: 2024-10-25 09:19:56

为何要学习计算机基础的相关文章

为何要学习计算机基础大

一 为何要学习计算机基础 python是编程语言,即python是语言 语言有英语.法语.葡萄牙语等,但凡是语言,都是用来沟通的介质. 程序员编程的本质就是让计算机去工作,而编程语言就是程序员与计算机沟通的介质 程序员要想让计算机工作,必须知道计算机能干什么,怎么干的,这也就是我们必须学习计算机基础的原因 然而光有编程语言和硬件也并不能满足大家的编程需求,为什么这么说呢? 程序用编程语言写程序,最终开发出的结果就是一个软件,既然是软件,那就与腾讯qq.暴风影音.快播等软件没有区别了.这些软件必须

计算机基础知识:硬件

目录 一.为什么要学习计算机基础 二.本文目标 三.计算机的发展历史四.计算机硬件介绍4.1CPU处理器4.2存储器 4.3磁盘 4.4磁带          4.5总线         4.6启动计算机 一.为什么要学习计算机基础 计算机(computer)俗称电脑,是现代一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能.是能够按照程序运行,自动.高速处理海量数据的现代化智能电子设备. 程序自动化:可以将预先编好的程序组纳入计算机内存,在程序控制下,计算

计算机基础之——计算机硬件

目录 一.为何要学习计算机基础 2 二.计算机硬件介绍 3 2.1 处理器 4 2.1.1 寄存器的分类 4 2.1.2 寄存器的维护 5 2.1.3 处理器设计的演变 5 2.1.4 内核态与用户态 5 2.1.5 内核态与用户态切换 6 2.1.6 异常处理 6 2.1.7 多线程和多核芯片 6 2.2 存储器 8 2.2.1 寄存器即L1缓存 8 2.2.2 高速缓存即L2缓存 8 2.2.3 内存 9 2.3 磁盘 9 2.3.1 寻道时间与延迟时间 10 2.3.2 虚拟内存 11 2

计算机基础篇

一.为何要学习计算机基础? 好多人觉得自己有点基础就都想着直接敲代码,觉得基础知识很容易,很简单,就不怎么用心去学.然而,我觉得基础知识很重要.就像盖一栋楼房一样,你先要打好地基,再去盖房.  Python是一门编程语言,即通俗一点说就是语言. 我们都知道世界上有很多种语言,比如:汉语,英语,阿拉伯语等等众多的语言.要想用这些语言去和人沟通,如果你想和英国人说话,你必须得会英语吧.而我们的计算机也有它自己的语言,你要想让计算机帮助我们做事情,你就需要和它沟通吧.那你就得懂得计算机语言吧,也就是编

计算机基础——硬件

硬件 作为一名即将统治世界的程序员,我们可以用我们指间的力量改变世界,但总而言之也要懂一些底层的东西嘛. 程序员编程的本质就是让计算机去工作,而编程语言就是程序员与计算机沟通的介质 程序员要想让计算机工作,必须知道计算机能干什么,怎么干的,这也就是我们必须学习计算机基础的原因. 一套完整的计算机系统分为:计算机硬件,操作系统,软件(程序员开发的就是软件),如下图.因而我们的python编程之路分为计算机硬件基础,操作系统基础,和python编程三部分,就让我们先从计算机硬件学起吧! 好了不说废话

关于计算机基础

之前在决定转战web前端时,就决定要学习计算机的基础知识.但一直只知道学习它们是有用的,却没有深刻的理解到有些什么用处.而今天,深刻的体会到不懂那些基础知识是多么痛苦. 学习javascript好长时间了,把js高程的不少章节都看了好多遍,于是我以为我也可以用js写一些东西了,故而筹谋着写个贪吃蛇的小游戏.但着手了几天,才发现事实并非想象的那么简单.在写游戏时知道要实现的功能有那些,也能把每个功能逐个击破,却无法把它们联系到一起,思来想去脑中好比一团乱麻,果真是剪不断理还乱.从这个小游戏,我才真

mooc 计算机基础 笔记

在中国MOOC上看了计算机基础的教学视频顺便做个笔记 mooc 计算机基础 操作系统基础 -操作系统 -操作系统就是用于管理和控制计算机软硬件资源的一组程序 -满足的两大需求:其高资源利用率,增强系统性能 系统<按系统功能分类> 批处理系统 作用:自动,成批处理用户的作业 分时操作系统 -作用:各终端用户共享主机和外部设备 -实现:CPU按"时间片"分时给各用户 实时操作系统 系统能够及时响应随机发生的外部事件,并要快速处理 网络操作系统 -工作站共享网络上的软硬件资源 常

Python学习第一天----计算机基础

一.学习计算机基础的目的 再高级的编程语言都是运行在操作系统之上的,而操作系统又是运行在硬件基础之上.所以在开始学习编程之前需要深刻的了解并熟知计算机的基础知识.包括硬件基础及操作系统基础. 二.计算机硬件发展史 计算机的定义:是现代用于高速计算的一种电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能. 发展史: 原型或者说灵感起源于中国 1946年2月14日情人节这天,世界上第一台电子计算机"电子数字积分计算机ENIAC"在美国宾夕法尼亚大学问世. 电子管时代--

计算机基础和操作系统基础小结

一.计算机基础 冯.诺依曼体系: 输入设备.存储器.运算器.控制器.输出设备 冯.诺依曼体系结构是现代计算机的基础,因此被称为计算机之父. 2.计算机发展及应用: 1)第一台计算机1946年诞生于美国,名为ENIAC.重30顿,主要用于计算弹道和氢弹的研制. 2)第一代:电子管计算机,主要采用电子管原件做基本器件.体积大.耗电量大.速度慢.维护困难.价格昂贵.在软件上,通常使用机器语言和汇编语言来编写应用程序.主要用于科学计算. 3)第二代:晶体管计算机.50年代晶体管的出现使计算机生产技术得到