菜鸟笔记 -- Chapter 3.1 计算机的基础

3.1 计算机的基础知识

  每次想写些什么的时候,发现总是避不过计算机这块,在菜鸟笔记 Chapter 1 计算机从0讲起简单介绍一下计算机硬件,以后计划在线程和并发中详细介绍一下计算机的运行原理。这里我们还是先简单介绍一下计算机。

3.1.1 计算机

计算机(Computer)全称:电子计算机,俗称电脑。是一种能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备。由硬件和软件所组成,没有安装任何软件的计算机称为裸机。常见的形式有台式计算机、笔记本计算机、大型计算机等。

计算机的应用已渗透到社会的各个领域,正在改变着人们的工作、学习和生活的方式,推动着社会的发展。哪些方面?

1:科学计算

科学计算也称数值计算。计算机最开始是为解决科学研究和工程设计中遇到的大量数学问题的数值计算而研制的计算工具。例如,人造卫星轨迹的计算,房屋抗震强度的计算,火箭、宇宙飞船的研究设计都离不开计算机的精确计算。就连我们每天收听收看的天气预报都离不开计算机的科学计算。

2、数据处理

在科学研究和工程技术中,会得到大量的原始数据,其中包括大量图片、文字、声音等信息处理就是对数据进行收集、分类、排序、存储、计算、传输、制表等操作。

3、自动控制

自动控制是指通过计算机对某一过程进行自动操作,它不需人工干预,能按人预定的目标和预定的状态进行过程控制。例如,无人驾驶飞机、导弹、人造卫星和宇宙飞船等飞行器的控制,都是靠计算机实现的。

4、计算机辅助设计

计算机辅助设计(Computer Aided Design,简称CAD)是指。借助计算机的帮助,人们可以自动或半自动地完成各类工程设计工作。目前CAD技术已应用于飞机设计、船舶设计、建筑设计、机械设计、大规模集成电路设计等。在京九铁路的勘测设计中,使用计算机辅助设计系统绘制一张图纸仅需几个小时,而过去人工完成同样工作则要一周甚至更长时间。可见采用计算机辅助设计,可缩短设计时间,提高工作效率,节省人力、物力和财力,更重要的是提高了设计质量。

5、人工智能

人工智能(Artificial Intelligence,简称AI)是指计算机模拟人类某些智力行为的理论、技术和应用。例如,用计算机模拟人脑的部分功能进行思维学习、推理、联想和决策,使计算机具有一定“思维能力”。我国已开发成功一些中医专家诊断系统,可以模拟名医给患者诊病开方。 还有就是机器人也是计算机人工智能的典型例子。

6、多媒体应用

随着电子技术特别是通信和计算机技术的发展,人们已经有能力把文本、音频、视频、动画、图形和图像等各种媒体综合起来,构成一种全新的概念—“多媒体”(Multimedia)。比如一些flash广告,网页游戏等。

7、计算机网络

计算机网络是由一些独立的和具备信息交换能力的计算机互联构成,以实现资源共享的系统。如在全国范围内的银行信用卡的使用,火车和飞机票系统的使用等。

3.1.2 计算机硬件

计算机硬件(Computer Hardware)是指计算机系统中由电子,机械和光电元件等组成的各种物理装置的总称。这些物理装置按系统结构的要求构成一个有机整体为计算机软件运行提供物质基础。

计算机通常由CPU、主板、内存、电源、主机箱、硬盘、显卡、键盘、鼠标,显示器等多个部件组成。详细的硬件介绍详见菜鸟笔记  Chapter1  计算机从0讲起

3.1.3 计算机软件

计算机软件是使用计算机过程中必不可少的东西,计算机软件可以使计算机按照事先预定好的顺序完成特定的功能,计算机软件按照其功能划分为系统软件与应用软件

  • 系统软件: DOS(Disk Operating System), Windows, Linux, Unix, Mac, Android, iOS
  • 应用软件: Office  QQ聊天  YY语言  扫雷 等
  • 软件:按照特定顺序组织的计算机数据和指令的集合

3.1.4 软件开发

例如:体重和身高他们属于数据的范畴单独的拿出来没有任何意义,可是如果我们通过   身高和体重 的一个比例计算就可以得出我们的健康状态,这个计算属于指令;这种数 据和指令的集合才有意义;

  • 开发:软件的制作过程
  • 软件开发:借助开发工具与计算机语言制作软件
  • 语言:人类进行沟通交流的各种表达符号,方便人与人之间进行沟通与信息交换;
  • 计算机语言:计算机语言(Computer Language)指用于人与计算机之间通讯的语言。计算机语言是人与计算机之间传递信息的媒介。计算机系统最大特征是指令通过一种语言传达给机器。为了使电子计算机进行各种工作,就需要有一套用以编写计算机程序的数字、字符和语法规划,由这些字符和语法规则组成计算机各种指令(或各种语句)。这些就是计算机能接受的语言。计算机语言的种类非常的多,总的来说可以分成机器语言,汇编语言,高级语言三大类。

3.1.5 计算机语言

3.1.6 计算机语言的发展史

3.1.6.1 机器语言

机器语言是指一台计算机全部的指令集合,电子计算机所使用的是由"0"和"1"组成的二进制数,二进制是计算计算机语言的基础。计算机发明之初,人们只能降贵纡尊,用计算机的语言去命令计算机干这干那,一句话,就是写出一串串由"0"和"1"组成的指令序列交由计算机执行,这种计算机能够认识的语言,就是机器语言。使用机器语言是十分痛苦的,特别是在程序有错需要修改时,更是如此。因此程序就是一个个的二进制文件。一条机器语言成为一条指令。指令是不可分割的最小功能单元。而且,由于每台计算机的指令系统往往各不相同,所以,在一台计算机上执行的程序,要想在另一台计算机上执行,必须另编程序,造成了重复工作。但由于使用的是针对特定型号计算机的语言,故而运算效率是所有语言中最高的。机器语言,是第一代计算机语言。说白了就是针对CPU的指令集编写的程序,CPU可以直接执行,无需任何解释,所以运行效率高,但是可阅读可修改性能太低,最主要的是需要参考指令集才能编写,这对于高效编程来说很困难,会阻碍计算机程序的发展。

3.1.6.2 汇编语言

为了减轻使用机器语言编程的痛苦,人们进行了一种有益的改进:用一些简洁的英文字母、符号串来替代一个特定的指令的二进制串,比如,用"ADD"代表加法,"MOV"代表数据传递等等,这样一来,人们很容易读懂并理解程序在干什么,纠错及维护都变得方便了,这种程序设计语言就称为汇编语言,即第二代计算机语言。然而计算机是不认识这些符号的,这就需要一个专门的程序,专门负责将这些符号翻译成二进制数的机器语言,这种翻译程序被称为汇编程序。汇编语言同样十分依赖于机器硬件,移植性不好,但效率仍十分高,针对计算机特定硬件而编制的汇编语言程序,能准确发挥计算机硬件的功能和特长,程序精炼而质量高,所以至今仍是一种常用而强有力的软件开发工具。汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆。它同样需要编程者将每一步具体的操作用命令的形式写出来。汇编程序的每一句指令只能对应实际操作过程中的一个很细微的动作,例如移动、自增,因此汇编源程序一般比较冗长、复杂、容易出错,而且使用汇编语言编程需要有更多的计算机专业知识,但汇编语言的优点也是显而易见的,用汇编语言所能完成的操作不是一般高级语言所能实现的,而且源程序经汇编生成的可执行文件不仅比较小,而且执行速度很快。说白了汇编语言是机器语言0和1的一个进步但是仍然没有摆脱平台的依赖和简化开发,机器语言是所有语言的基础,是所有语言的最后形态,语言的进阶实际上就是用不同的符号代表不同的含义,最后解释为机器能够识别的机器指令,然后执行。

3.1.6.3 高级语言

高级语言有:BASIC(True basic、Qbasic、Virtual Basic)、C、C++、PASCAL、FORTRAN、智能化语言(LISP、Prolog、CLIPS、OpenCyc、Fazzy)、动态语言(Python、PHP、Ruby、Lua)等等。- 高级语言源程序可以用解释、编译两种方式执行。通常用后一种。高级语言是绝大多数编程者的选择。和汇编语言相比,它不但将许多相关的机器指令合成为单条指令并且去掉了与具体操作有关但与完成工作无关的细节,例如使用堆栈、寄存器等,这样就大大简化了程序中的指令。由于省略了很多细节,所以编程者也不需要具备太多的专业知识。 高级语言主要是相对于汇编语言而言,它并不是特指某一种具体的语言,而是包括了很多编程语言,流行的VB、VC、FoxPro、Delphi等,这些语言的语法、命令格式都各不相同

计算机软件都是用各种计算机语言(后面讲)编写的。最底层的叫机器语言,它由一些0和1组成,可以被某种电脑直接理解,但人就很难理解。上面一层叫汇编语言,它只能由某种电脑的汇编器软件翻译成机器语言程序,才能执行。人能够勉强理解汇编语言。人常用的语言是更上一层的高级语言,比如C,C++,C#, Java等。这些语言编写的程序一般都能在多种电脑上运行,但必须先由一个叫作编译器或者是解释器的软件将高级语言程序翻译成特定的机器语言程序。编写计算机软件的人员叫程序设计员、程序员、编程人员。他们当中的高手有时也自称为黑客。

3.1.7 人机交互方式

交互的意思就是你和程序对话.例如你点击一个按钮,然后程序弹出一个窗口"您真的要退出吗?"这样你就可以选择了.这个就叫交互.目前大部分的程序都是交互程序。软件的出现实现了人与计算机之间更好的交互。这种交互方式成为人机交互或者人机互动(英文:Human–Computer Interaction或Human–Machine Interaction,简称HCI或HMI),是一门研究系统与用户之间的交互关系的学问。系统可以是各种各样的机器,也可以是计算机化的系统和软件。人机交互界面通常是指用户可见的部分。用户通过人机交互界面与系统交流,并进行操作。小如收音机的播放按键,大至飞机上的仪表板、或是发电厂的控制室。人机交互界面的设计要包含用户对系统的理解(即心智模型),那是为了系统的可用性或者用户友好性。人机交互的发展经历了几个阶段:

  • 早期的手工作业阶段,参考电闸,开和关代表1和0;
  • 作业控制语言及交互命令语言阶段即命令行方式:需要有一个控制台,输入特定的指令,让计算机完成一些操作。较为麻烦,需要记录住一些命令,DOS系统就是这么个东西。
  • 图形用户界面(GUI)阶段:这种方式简单直观,使用者易于接受,容易上手操作。
  • 网络用户界面的出现
  • 多通道、多媒体的智能人机交互阶段

3.1.8 键盘功能键及快捷键介绍

常用快捷键:


F键


F1帮助 、F2改名 、F3搜索 、F4地址 、F5刷新 、F6切换 、F10菜单


CTRL键


CTRL+A全选 、CTRL+F4关闭 、CTRL+ESC开始菜单

CTRL+C复制 、CTRL+S 保存

CTRL+X剪切 、CTRL+V粘贴 、CTRL+Z撤消 、CTRL+O打开 、CTRL+F查找 、CTRL+H替换 、


ALT键


ALT+ENTER属性 、ALT+F4关闭 、ALT+TAB切换 、ALT+ESC切换 、ALT+空格键 窗口菜单


Windows键


Windows快捷键

Windows徽标键+L键切换用户

Windows徽标键+TAB键在任务栏上的按钮间循环

Windows徽标键+E键启动“我的电脑”

Windows徽标键+D键快速显示桌面

Windows徽标键+R键执行“运行”命令

Windows徽标键+U键打开“工具管理器”

Windpws徽标键+M键将所有窗口最小化

Windows徽标键+F键搜索文件或者文件夹

Windows徽标键+F1键显示Windows帮助

Windows徽标键+Shift+M键将最小化的窗口还原

Windows徽标键+Ctrl+F键搜索计算机

Windows徽标键+PauseBreak键打开“系统属性”对话框


其他


SHIFT+DELETE永久删除 、DELETE删除 、PrtSc(PrintScreen)屏幕截图

3.1.9 常用的DOS命令

Ping命令:它是用来检查网络是否通畅或者网络连接速度的命令。作为一个生活在网络上的管理员或者黑客来说,ping命令是第一个必须掌握的DOS命令,它所利用的原理是这样的:网络上的机器都有唯一确定的IP地址,我们给目标IP地址发送一个数据包,对方就要返回一个同样大小的数据包,根据返回的数据包我们可以确定目标主机的存在,可以初步判断目标主机的操作系统等。下面就来看看它的一些常用的操作。先看看帮助吧,在DOS窗口中键入:ping /? 回车,出现如图1。所示的帮助画面。在此,我们只掌握一些基本的很有用的参数就可以了(下同)。

-t :表示将不间断向目标IP发送数据包,直到我们强迫其停止。试想,如果你使用100M的宽带接入,而目标IP是56K的小猫,那么要不了多久,目标IP就因为承受不了这么多的数据而掉线,呵呵,一次攻击就这么简单的实现了。

-l :定义发送数据包的大小,默认为32字节,我们利用它可以最大定义到65500字节。结合上面介绍的-t参数一起使用,会有更好的效果哦。

-n :定义向目标IP发送数据包的次数,默认为3次。如果网络速度比较慢,3次对我们来说也浪费了不少时间,因为现在我们的目的仅仅是判断目标IP是否存在,那么就定义为一次吧。说明一下,如果-t 参数和-n参数一起使用,ping命令就以放在后面的参数为标准,比如“ping IP -t -n 3”,虽然使用了-t参数,但并不是一直ping下去,而是只ping 3次。另外ping命令不一定非得ping IP,也可以直接ping主机域名,这样就可以得到主机的IP。下面我们举个例子来说明一下具体用法,如图2。这里time=2表示从发出数据包到接受到返回数据包所用的时间是2秒,从这里可以判断网络连接速度的大小。从TTL的返回值可以初步判断被ping主机的操作系统,之所以说“初步判断”是因为这个值是可以修改的。这里TTL=32表示操作系统可能是win98。 (小知识:如果TTL=128,则表示目标主机可能是Win2000;如果TTL=250,则目标主机可能是Unix)至于利用ping命令可以快速查找局域网故障,可以快速搜索最快的QQ服务器,可以对别人进行ping攻击……这些就靠大家自己发挥了。

打开DOS控制台的方式:

1:开始--程序--附件--命令提示符

2:开始--运行—cmd—回车

3:win+r—cmd--回车

常用DOS命令

d: 回车 盘符切换

dir(directory):列出当前目录下的文件以及文件夹

md (make directory) : 创建目录

rd (remove directory): 删除目录

cd (change directory)改变指定目录(进入指定目录)

cd.. : 退回到上一级目录

cd\: 退回到根目录

del (delete): 删除文件,删除一堆后缀名一样的文件*.txt

exit : 退出dos命令行

cls : (clear screen)清屏

时间: 2024-10-07 01:54:12

菜鸟笔记 -- Chapter 3.1 计算机的基础的相关文章

菜鸟笔记 -- Chapter 3.4 环境变量

3.4 Java环境的搭建 工欲善其事必先利其器.在学习Java语言之前,必须了解并搭建好它所需要的开发环境.要编译和执行Java程序,JDK(Java Developers Kits)是必备的.下面将具体认识下JDK和JRE,并进行介绍下载安装JDK和配置环境变量的方法. 3.4.1 Java的跨平台 Java的跨平台是指:通过Java语言编写的应用程序在不同的系统平台上都可以运行.在这里我们要对平台进行一下解读,在菜鸟笔记 Chapter 1 计算机从0讲起中我们知道了OS的出现是为所有的开

菜鸟笔记 -- Chapter 6.4 面向对象的三大特性

6.4.1  三大特性概述 面向对象的三大特性是Java中一个很重要的基本理念. 封装是面向对象的核心思想.将对象的属性和行为封装起来,其载体就是类,类通常对客户隐藏其实现细节,这就是封装的意思.采用封装的思想保证了类内部数据结构的完整性,应用该类的用户不能轻易地直接操作此数据结构,只能执行类允许公开的数据.这样就避免了外部操作对内部数据的影响,提高了程序的可维护性. 继承和多态是面向对象开发语言中非常重要的一个环节,如果在程序中使用得当,可以将整个程序的架构变的非常有弹性,同时可以减少代码的冗

菜鸟笔记 -- Chapter 3.2 Java简介

3.2 Java简介 Java是一种高级的面向对象的程序设计语言.使用Java语言编写的程序是跨平台的,从PC机到手持电脑都有Java开发的程序和游戏,Java程序可以在任何计算机.操作系统和支持Java的硬件设备上运行. 3.2.1 Java语言的历史 Java语言是Sun公司于1990年开发的,当时Green项目小组的研究人员正在致力于为未来的智能设备开发一种新的编程语言.由于该小组的成员James Gosling 对C++语言在执行过程中的表现非常不满,就把自己封闭在办公室里编写了一种新的

菜鸟笔记 -- Chapter 3.5 人生的第一个Java程序Hello World

3.5 第一个Java程序“Hello World” 3.5.1 工具介绍 编写Java程序可以使用很多种工具 l notepad(微软操作系统自带) l Notepad++ l Eclipse l MyEclipse 我们在初始学习阶段先通过Notepad++来学习,这样我们可以更直观的看到程序运行的流程. 3.5.2 HelloWorld 源代码 class HelloWorld{ public static void main(String[] args){ System.out.prin

菜鸟笔记 -- Chapter 6 面向对象

在Java语言中经常被提到的两个词汇是类与对象,实质上可以将类看作是对象的载体,它定义了对象所具有的功能.学习Java语言必须要掌握类与对象,这样可以从深层次去理解Java这种面向对象语言的开发理念,使程序员更好.更快地掌握Java编程思想与编程方式,掌握类与对象是学习理清Java语言的基础.            

菜鸟笔记 -- Chapter 6.4.3 多态

6.4.3  多态 多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量倒底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定.因为在程序运行时才确定具体的类,这样,不用修改源程序代码,就可以让引用变量绑定到各种不同的类实现上,从而导致该引用调用的具体方法随之改变,即不修改程序代码就可以改变程序运行时所绑定的具体代码,让程序可以选择多个运行状态,这就是多态性. 简

菜鸟笔记 -- Chapter 5.4 Dead Code

不知道有没有前辈注意过,当你编写一段“废话式的代码时”会给出一个Dead Code警告,点击警告,那么你所写的废物代码会被编译器消除,那么如果你不理睬这个警告呢?编译后会是什么样的呢?下面我们写点代码,来查看一下编译后的结果,这里使用反编译工具jd-gui.exe.代码如下: package cn.five.four; public class Test { public static void main(String[] args) { int a = 7; int b = 9; test1(

菜鸟笔记 -- Chapter 09 常见类和接口

Java为我们提供了丰富的jar包支持,这其中很多都是我们日常开发所必须的,了解这些包和类,十分有助于我们的开发,深度了解源代码也有助于我们代码的优化和提高;JDK1.8为我们提供了多于4000个类与接口;我们主要从功能模块和特性来认识这些类和接口;如下: 用于比较的两个接口: Comparable:java.lang.Comparable<T> CompareTo()方法来源于此,Java中所有的比较功能,基本都源于这个接口,根据不同的类,有不同的实现; Comparator:java.ut

Android菜鸟笔记- 获取未安装的APK图标、版本、包名、名称、是否安装、安装、打开

周末闲来无事,把Android的基础知识拿出来复习复习,今天主题是<获取未安装的APK图标.版本.包名.名称.是否安装.跳转安装.打开> 一.获取APK图标 通常读取APK的图标可以用,PackageManager里面的getApplicationIcon(ApplicationInfo)来得到一个drawable.但实际使用的时候经常只能得到一个默认的图标,根本不是APK的图标. 参考小米开源文件管理器,结合实践,代码如下: /* * 采用了新的办法获取APK图标,之前的失败是因为andro