操作系统是深入学习计算机技术的基础,因此,为了更好的学习计算机技术,现在对操作系统进行简要学习并摘记如下。
1.操作系统(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。
2.操作系统理论研究者有时把操作系统分成四大部分:
驱动程序:最底层的、直接控制和监视各类硬件的部分,它们的职责是隐藏硬件的具体细节,并向其他部分提供一个抽象的、通用的接口。
C运行期库就属于此类,它把各种操作系统的内部编程接口包装成ANSI C和POSIX编程接口的形式。
3.一个标准个人电脑的OS应该提供以下的功能:进程管理(Processing management),内存管理(Memory management),文件系统(File
system),网络通讯(Networking),安全机制(Security),用户界面(User interface),驱动程序(Device drivers)。
4.典型系统
4.1UNIX 是一个强大的多用户、多任务操作系统,支持多种处理器架构,按照操作系统的分类,属于分时操作系统。
4.2Linux基于Linux的操作系统是20世纪1991年推出的一个多用户、多任务的操作系统。它与UNIX完全兼容。
4.3Mac OS是一套运行于苹果Macintosh系列电脑上的操作系统。
4.4Windows是由微软公司成功开发的操作系统.Windows是一个多任务的操作系统,他采用图形窗口界面,用户对计算机的各种复杂操作只需通过点击鼠标就可以实现。
4.5iOS操作系统是由苹果公司开发的手持设备操作系统。iOS与苹果的Mac OS X操作系统一样,它也是以Darwin为基础的,因此同样属于类Unix的商业操作系统。
4.6Android是一种以Linux为基础的开放源代码操作系统,主要使用于便携设备。
4.7Windows Phone(简称:WP)是微软发布的一款手机操作系统,它将微软旗下的Xbox
Live游戏、Xbox Music音乐与独特的视频体验集成至手机中。
4.8Chrome OS是由谷歌开发的一款基于Linux的操作系统,发展出与互联网紧密结合的云操作系统,工作时运行Web应用程序。
5.虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。
虚拟系统通过生成现有操作系统的全新虚拟镜像,它具有真实windows系统完全一样的功能,进入虚拟系统后,所有操作都是在这个全新的独立的虚拟系统里面进行,可以独立安装运行软件,保存数据,拥有自己的独立桌面,不会对真正的系统产生任何影响
,而且具有能够在现有系统与虚拟镜像之间灵活切换的一类操作系统。虚拟系统和传统的虚拟机(Parallels
Desktop ,Vmware,VirtualBox,Virtual
pc)不同在于:虚拟系统不会降低电脑的性能,启动虚拟系统不需要像启动windows系统那样耗费时间,运行程序更加方便快捷;虚拟系统只能模拟和现有操作系统相同的环境,而虚拟机则可以模拟出其他种类的操作系统;而且虚拟机需要模拟底层的硬件指令,所以在应用程序运行速度上比虚拟系统慢得多。
6.NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样.
FAT文件系统考虑当时电脑性能有限,所以未被复杂化,因此几乎所有个人电脑的操作系统都支持。这特性使它成为理想的软盘和存储卡文件系统,也适合用作不同操作系统中的数据交流。现在,一般所讲的FAT专指FAT32。
但FAT有一个严重的缺点:当文件删除后写入新数据,FAT不会将文件整理成完整片段再写入,长期使用后会使文件数据变得逐渐分散,而减慢了读写速度。碎片整理是一种解决方法,但必须经常重组来保持FAT文件系统的效率。
· 8.拓扑学(topology)是研究几何图形或空间在连续改变形状后还能保持不变的一些性质的学科。它只考虑物体间的位置关系而不考虑它们的形状和大小。[1]拓扑英文名是Topology,直译是地志学,最早指研究地形、地貌相类似的有关学科。几何拓扑学是十九世纪形成的一门数学分支,它属于几何学的范畴。
9.DNS(Domain
Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。
10.CSMA/CD(Carrier Sense Multiple Access with Collision Detection)即带冲突检测的载波监听多路访问技术(载波监听多点介入/碰撞检测)。在传统的共享以太网中,所有的节点共享传输介质。如何保证传输介质有序、高效地为许多节点提供传输服务,就是以太网的介质访问控制协议要解决的问题。
11.token passing(令牌传递)方式,以token ring和IEEE802.4基准的LAN上采用的方式。
局域网的访问控制方式之一,被称为“token(令牌)”的送信权数据,当末端装置获得此令牌数据,即获得送信权,可以发送数据。
多个末端装置共用一根信号线的局域网中,多个末端装置同时发送数据的,而产生的“冲突”是不可避免的。控制冲突使用媒体访问控制装置“MAC”,token passing(令牌传递)就是其中方式之一。
token passing(令牌传递)方式,被称为“token(令牌)”的送信权数据时常在局域网中流动。想要传送数据的末端装置,捕获“令牌”,用自己想要发送的数据代替“令牌”数据,从而实现数据的传输。数据传输完毕后,释放“令牌”数据。这样,就可以实现多台末端利用一条信号线传输数据。
12.TCP/IP是“transmission Control Protocol/Internet Protocol”的简写,中文译名为传输控制协议/互联网络协议)协议, TCP/IP(传输控制协议/网间协议)是一种网络通信协议,它规范了网络上的所有通信设备,尤其是一个主机与另一个主机之间的数据往来格式以及传送方式。TCP/IP是INTERNET的基础协议,也是一种电脑数据打包和寻址的标准方法。
1) 链路层,有时也称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。
2) 网络层,有时也称作互联网层,处理分组在网络中的活动,例如分组的选路。在TCP/IP协议族中,网络层协议包括IP协议(网际协议),ICMP协议(internet互联网控制报文协议),以及IGMP协议(internet组治理协议)。
3 ) 传输层,主要为两台主机上的应用程序提供端到端的通信。在TCP/IP协议族中,有两个互不相同的传输协议: TCP(传输控制协议)和UDP(用户数据报协议)。
13.MAC(Medium/Media Access Control)地址,或称为 MAC地址、物理地址,用来表示互联网上每一个站点的标识符,采用十六进制数表示,共六个字节(48位)。其中,前三个字节是由IEEE的注册管理机构RA负责给不同厂家分配的代码(高位24位),也称为“编制上唯一的标识符”(Organizationally
Unique Identifier),后三个字节(低位24位)由各厂家自行指派给生产的适配器接口,称为扩展标识符(唯一性)。一个地址块可以生成2^24个不同的地址。MAC地址实际上就是适配器地址或适配器标识符EUI-48。
在一个稳定的网络中,IP地址和MAC地址是成对出现的。如果一台计算机要和网络中另一外计算机通信,那么要配置这两台计算机的IP地址,MAC地址是网卡出厂时设定的,这样配置的IP地址就和MAC地址形成了一种对应关系。在数据通信时,IP地址负责表示计算机的网络层地址,网络层设备(如路由器)根据IP地址来进行操作;MAC地址负责表示计算机的数据链路层地址,数据链路层设备(如交换机)根据MAC地址来进行操作。IP和MAC地址这种映射关系由ARP(Address Resolution Protocol,地址解析协议)协议完成。
14.RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。
RPC采用客户机/服务器模式。请求程序就是一个客户机,而服务提供程序就是一个服务器。首先,客户机调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息。在服务器端,进程保持睡眠状态直到调用信息到达为止。当一个调用信息到达,服务器获得进程参数,计算结果,发送答复信息,然后等待下一个调用信息,最后,客户端调用进程接收答复信息,获得进程结果,然后调用执行继续进行。
15.PCB(进程管理块)。为了描述控制进程的运行,系统中存放进程的管理和控制信息的数据结构称为进程控制块(PCB Process Control Block),它是进程实体的一部分,是操作系统中最重要的记录性数据结构。它是进程管理和控制的最重要的数据结构,每一个进程均有一个PCB,在创建进程时,建立PCB,伴随进程运行的全过程,直到进程撤消而撤消。
16.POSIX 表示可移植操作系统接口(Portable Operating System Interface ,缩写为 POSIX ),POSIX标准定义了操作系统应该为应用程序提供的接口标准,是IEEE为要在各种UNIX操作系统上运行的软件而定义的一系列API标准的总称,其正式称呼为IEEE 1003,而国际标准名称为ISO/IEC
9945。
POSIX标准意在期望获得源代码级别的软件可移植性。换句话说,为一个POSIX兼容的操作系统编写的程序,应该可以在任何其它的POSIX操作系统(即使是来自另一个厂商)上编译执行。
17.Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。
Linux系统一般有4个主要部分:
内核、shell、文件系统和应用程序。内核、shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以运行程序、管理文件并使用系统。部分层次结构如图1-1所示。
内核是操作系统的核心,具有很多最基本功能,它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。
shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行,是一个命令解释器。另外,shell编程语言具有普通编程语言的很多特点,用这种编程语言编写的shell程序与其他应用程序具有同样的效果。
文件系统是文件存放在磁盘等存储设备上的组织方法。Linux系统能支持多种目前流行的文件系统,如EXT2、
EXT3、 FAT、 FAT32、 VFAT和ISO9660。
标准的Linux系统一般都有一套都有称为应用程序的程序集,它包括文本编辑器、编程语言、X
Window、办公套件、Internet工具和数据库等。
18.fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。 一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新进程中,只有少数值与原来的进程的值不同。相当于克隆了一个自己。
fork调用的一个奇妙之处就是它仅仅被调用一次,却能够返回两次,它可能有三种不同的返回值:
1)在父进程中,fork返回新创建子进程的进程ID;
2)在子进程中,fork返回0;
3)如果出现错误,fork返回一个负值;
19.exec函数族的作用是根据指定的文件名找到可执行文件,并用它来取代调用进程的内容,换句话说,就是在调用进程内部执行一个可执行文件。这里的可执行文件既可以是二进制文件,也可以是任何Linux下可执行的脚本文件。
与一般情况不同,exec函数族的函数执行成功后不会返回,因为调用进程的实体,包括代码段,数据段和堆栈等都已经被新的内容取代,只留下进程ID等一些表面上的信息仍保持原样,颇有些神似"三十六计"中的"金蝉脱壳"。
20.NTFS (New Technology File System),是 WindowsNT 环境的文件系统。新技术文件系统是Windows NT家族(如,Windows 2000、Windows XP、Windows
Vista、Windows 7和windows 8.1)等的限制级专用的文件系统(操作系统所在的盘符的文件系统必须格式化为NTFS的文件系统,4096簇环境下)。NTFS取代了老式的FAT文件系统。
NTFS对FAT和HPFS作了若干改进,例如,支持元数据,并且使用了高级数据结构,以便于改善性能、可靠性和磁盘空间利用率,并提供了若干附加扩展功能。
该文件系统的详细定义属于商业秘密 ,微软已经将其注册为知识产权产品。
21.美籍匈牙利数学家冯·诺依曼于1946年提出存储程序原理,把程序本身当作数据来对待,程序和该程序处理的数据用同样的方式储存。 冯·诺依曼体系结构冯·诺依曼理论的要点是:数字计算机的数制采用二进制;计算机应该按照程序顺序执行。人们把冯·诺依曼的这个理论称为冯·诺依曼体系结构。
(1)采用存储程序方式,指令和数据不加区别混合存储在同一个存储器中,(数据和程序在内存中是没有区别的,它们都是内存中的数据,当EIP指针指向哪
CPU就加载那段内存中的数据,如果是不正确的指令格式,CPU就会发生错误中断. 在现在CPU的保护模式中,每个内存段都有其描述符,这个描述符记录着这个内存段的访问权限(可读,可写,可执行).这就变相的指定了哪些内存中存储的是指令哪些是数据)
指令和数据都可以送到运算器进行运算,即由指令组成的程序是可以修改的。
(2)存储器是按地址访问的线性编址的一维结构,每个单元的位数是固定的。
(3)指令由操作码和地址组成。操作码指明本指令的操作类型,地址码指明操作数和地址。操作数本身无数据类型的标志,它的数据类型由操作码确定。
(4)通过执行指令直接发出控制信号控制计算机的操作。指令在存储器中按其执行顺序存放,由指令计数器指明要执行的指令所在的单元地址。指令计数器只有一个,一般按顺序递增,但执行顺序可按运算结果或当时的外界条件而改变。
(5)以运算器为中心,I/O设备与存储器间的数据传送都要经过运算器。
(6)数据以二进制表示。
22.冯·诺依曼原理的核心是“存储程序控制”。
(1)采用二进制形式表示数据和指令。
(2) 将程序(数据和指令序列)预先存放在主存储器中,使计算机在工作时能够自动高速地从存储器中取出指令,并加以执行。
(3) 由运算器、存储器、控制器、输入设备和输出设备5大基本部件组成计算机系统,并规定了这5大部件的基本功能。冯·诺依曼思想实际上是电子计算机设计的基本思想,奠定了现代电子计算机的基本结构
。