第一课 计算机及操作系统基础知识

网友投稿 734 2022-09-21

第一课 计算机及操作系统基础知识

第一课  计算机及操作系统基础知识

第一天内容:

1、上课环境准备

2、计算机及操作系统基础知识

3、计算机及操作系统基础知识2

4、linux系统安装及初步认识

一、写博客要求:5w1h (what,why,who,where,when,how) 条理清晰,合适编排,用户体验

二、计算机五大部件

CPU(运算器+控制器)、Memory(存储器)、I/O(输入、输出设备)

1、运算器

运算器是进行算术、逻辑运算的部件。

2、控制器

控制器是实现计算机各部分联系及程序自动执行的部件,其功能是从内存中依次取出命令,产生控制信号,向其他部件发出指                  令,指挥整个运算过程。控制器是统一指挥、协调其他部件的中枢。

注:人们常把运算器和控制器二者制做在一起称为中央处理器,简称CPU。

3、存储器

存储器是存储信息的部件,分为内存、外存。内存在控制器的指挥下,与运算器、输入/输出设备交换信息。外存是为了弥内存                 的不足而设置的,在控制器的控制下,它与内存成批交换数据

注2:把运算器、控制器、内存三者合称为主机。

4、输入设备

输入设备是把数据和程序转换成电信号,并把电信号送入内存的部件。如:键盘、鼠标、扫描仪、麦克、游戏操作杆等。

5、输出设备

输出设备是把计算机处理的结果送到主机外的部件。如:显示器、打印机、音箱等

三、虚拟机创建

cpu虚拟化:分时系统,时间片实现;内存虚拟化:分段占用;I/O设备虚拟化;网卡虚拟化;

创建虚拟机  指定cpu、memory、i/o(disk、ethercard)的过程,安装OS,磁盘映像文件(disk  p_w_picpath file)分           稀疏格式(分配120G占用物理空间20K)和非稀疏格式

四、计算机工作原理

1、二进制、十进制转换

2、计算机最小存储单位是bit(位) 8bit=1Byte(字节) 1024Byte=1KB 1024KB=1MB

3、cpu内部有一个寄存器(用于短暂存储数据),内存RAM(易失性存储器)

五、liunx的发展史

1964年GE(美国通用电气), BELL(贝尔实验室), MIT(麻省理工学院) 三家公司联合研发了 Mutlics(分时操作系统),之后GE、BELL公司离开。bell一个程序员ken为了运行Space Travell,用汇编语言写了一个Unics平台,之后ken和同事Dennis Ritche(C语言之父)为了更多平台使用unics。就使用高级语言c重写了unics变化为Unix,由于BSD和BELL商业化unix系统,价格昂贵,荷兰一教授自己编写了一个小的操作系统Minix,麻省理工大学Stallman组织了GNU: Gnu is Not Unix自由软件开源协会,GNU运动制定了一个规则GPL(General Public License)。之后荷兰赫尔辛基大学的linus仿照minix、借鉴unix自己写了一个liunx内核。1991年linus的liunx正式公布给世人,通过世人和黑客的共同努力,linux的第一个版本终于在1994年发布并迅速流行。1994年成立的Redhat公司开始包装发行linux。linux只是一个核心更多的外围软件和程序都是GNU提供的,这样GNU/Linux诞生了。

当时IBM的PC机为X86架构(Inter生产的CPU)并不能运行unix,只能安装非常昂贵的CTSS系统,这时西雅图一家公司Microsoft(盖茨)购买了艾伦朋友开发的一个能跑在X86架构的系统DOS(Disk Operation System);后来和IBM合作,IBM 每台PC机购买Microsoft DOS系统的Linsence.

六、liunx的编译安装

大家都知道liunx是用C语言编写的,在互联网公开源代码,PC机能识别的是二进制格式!那么问题来了,我们要想在PC机上安装linux系统,该如何把源代码转换成计算机识别的二进制格式???这就涉及编译器的概念,编译器编译的过程就是将源代码转换成对应硬件平台的二进制代码!在编译器上编译完成源代码测试通过后放在目标计算机上运行,这样就安装系统了(不同硬件平台编译完不能使用);GNU的各种软件也是需要编译的不同平台不能使用,难道我们装不同硬件平台的计算机都要去编译源代码和各种GNU软件吗?

众多的linux发行商就是为我们编译各种平台的系统,如红帽从互联网-内核和各种应用程序源代码,编译并测试这些程序,再在外围添加安装程序封装成ISO的光盘在公网发布成为我们便捷使用的发行版;安装程序提供我们分区、时间、语言等设置。

七、linux发行商 (linux timeline)

Slackware (S.U.S.E是基于slackwarede 二次发行版)

Debian     (ubuntu是基于Debian的二次发行版)

Redhat   (Centos 二次发行版) redhat9--->Fedora

RHEL3 4 5 6

Centos (Community ENTerprise OS)

八、API: Application Programming interface  应用开发接口

syscall系统调用接口

libcall库调用接口

ABI: Application Binary interface 应用二进制接口

开发编译、运行是2个阶段,开发编译时移植需要API相同,编译后运行需要ABI相同。。因为不同的操作系统提供的api不同所以不同操作系统上的程序是不能通用的。如果他们都遵循POSIX API那他们提供的api相同,但是程序编译后运行时他们用的ABI不相同程序也不能运行。

静态编译(编译时直接把系统提供的接口包含到程序中来,运行时不需要对应系统提供接口支持)、动态编译(不包含程序编译时系统提供接口。运行时需要对应系统提供相应接口支持)。API 组成部分:syscall系统调用接口,libcall库调用接口。ABI:不同操作系统的内核对于二进制支持格式是各不相同的。SO:shared object(共享对象)、dll:Dynamic Link Library(动态链接库)。POS API:portable os(可移植操作系统)为了兼容unix风格后改为POSIX API

九、自由软件

FSF:Free software fundation

ASF:Apache software fundation

自由学习、自由修改源代码,自由分发源代码,自由创建衍生版,可以出于任何目的获取源代码。

开源许可协议:开源协定

GPLv2,GPLv3

LGPL:Lesser

BSD:

1、如果二次发布的产品中包含源代码,则在源代码中必须带有原来代码的BSD协议

3、不可以用开源代码的作者、组织和原来的产品名字做市场推广。

发行版:开源程序+linux内核

Android:

linux + jvm(java虚拟机)+java程序

IOS:

FreeBSD + Object-C(swift)

十、linux基本法则

一切皆文件(包括硬件);

尽可能避免捕获用户接口,为了方便脚本编程以实现自动化执行;

使用文本文件保存程序的配置数据(使用一个文本编辑器即可完成系统及服务的配置)

十一、linux系统层次

用户接口:是一种独特的应用程序,能够为用户提供启动其他应用程序的机制

CLI:命令提示符

Gnome,c,gtk

KDE,c++,qt

xfce,轻量级

终端:虚拟终端(carl-alt-fn) dev/tty#、

伪终端 (ssh和图形界面打开命令提示符) /dev/pst/#

物理终端(console)/dev/console、

串行终端 /dev/ttyS#、

图形终端(Carl-alt-F7)

startx & ;startx -- :2 &。可以启动多个图形窗口

命令总结:ifconfig ,ls,echo,startx

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:从贝尔实验室走出的巨人,甩乔布斯好几条街
下一篇:你真正了解public、internal、protected、private吗?不妨幽默一些
相关文章

 发表评论

暂时没有评论,来抢沙发吧~