网络和沟通
网络和通讯领域包括分析、设计、实现和使用当地的,广域和移动网络连接电脑。的互联网本身就是一个网络使它可行的世界上几乎所有电脑进行交流。
一个计算机网络通过结合计算机链接在一起红外光信号,广播波传输,电话行,电视电缆,卫星链接。计算机科学家面临的挑战已经被开发协议(标准化的格式和规则的消息交换),允许主机上运行的进程来解释他们的信号接收和参与有意义的“对话”,以完成任务为用户。网络协议还包括流控制,防止数据发送方淹没与消息接收器,它没有时间来处理或空间来存储,和错误控制,包括传输错误检测和自动重发消息来纠正这些错误。(的一些技术细节错误检测和修正,看到信息理论。)
协议是一个国际的标准化工作。因为它可能是不可能的对不同类型的机器和操作系统相互通信,关键问题是,系统组件(电脑)是“开放。”这个术语来自开放系统互连(OSI)通信标准,建立的国际标准化组织。OSI参考模型指定网络协议在七层标准。每一层定义的函数依赖从它下面的一层,它提供的服务层上面。
位于底部的协议物理层,包含规则在物理链路传输的比特。的链路层处理数据的标准体型的“包”,并增加了可靠性的形式错误检测和流量控制。的网络和传输层消息分解成标准数据包,并将其发送到目的地。的会话层支持应用程序之间的交互作用在两个机器交流。例如,它提供了一种机制来插入检查点(拯救任务的当前状态)成一个长文件传输,这样,在失败的情况下,只有最后的检查点之后的数据需要重新传输。的表示层涉及功能编码数据,所以呢异构系统可能参与有意义的交流。在最高的层次上是支持特定的协议应用程序。这样的应用程序的一个例子是文件传输协议(FTP),管理文件的转移从一个宿主传播到另一个地方。
网络和通信协议的发展也催生了分布式系统,电脑与网络共享数据和处理任务。分布式数据库系统,例如,有一个数据库(或复制)中传播不同的网站。数据复制镜像站点,和复制可以提高可用性和可靠性。一个分布式的数据库管理系统管理一个数据库的组件分布在几个网络上的计算机。
客户机-服务器网络是一个分布式系统的数据库驻留在一个计算机(服务器),用户通过网络连接到这台计算机(从自己的电脑客户)。服务器提供数据和响应请求从每个客户,每个客户端访问服务器上的数据的方式是独立的,不知道其他客户访问同一个数据库。客户机-服务器系统要求个人行为从几个客户的相同部分服务器的数据库同步,所以冲突是在一个合理的方式解决。例如,机票预订实现使用一个客户端-服务器模型。服务器包含关于即将到来的航班的所有数据,如当前的预订和座位安排。每个客户端想要访问该数据为目的的预订航班,获得一个席位分配,为飞行。在这个过程中,两个或多个客户机请求很可能想访问相同的航班,只有一个座位了。软件必须同步这两个请求,这样剩下的座位分配在一个理性的方式(通常是先发出请求的人)。
还有一种分布式系统是很受欢迎的点对点网络。与客户端-服务器网络,点对点网络假设每台计算机(用户)连接到它可以作为客户机和服务器;因此,网络上的每个人都是同行。这种策略对组织有意义的分享音频的集合互联网和组织社交网络如LinkedIn和脸谱网。每个人都连接到这样一个网络接收信息从他人和与他人分享他或她自己的信息。
操作系统
一个操作系统是一家专业的吗软件站在一个电脑硬件体系结构和它的应用程序。它执行一些基本的活动,如文件系统管理,进程调度,内存分配,网络接口,计算机的用户之间的资源共享。操作系统已经进化的复杂性随着时间的推移,开始与1960年代最早的电脑。
早期的计算机,用户输入程序到穿孔纸带或卡片,读入计算机,组装或编译,运行。然后,结果被传输到打印机或磁带。这些早期的操作系统进行批处理;即。,handling sequences of工作一次编译和执行一个没有用户干预。伴随每一个工作在一个批处理指令的操作系统(OS)详细工作所需的资源,如的数量CPU所需时间、所需的文件和居住的存储设备文件。从这些开始了一个操作系统的关键概念作为一个资源分配器。这个角色变得更重要的多道程序设计同时,多个工作驻留在计算机和共享资源,例如,通过分配固定数量的CPU时间。更复杂的硬件读取数据允许一项工作而另一个写信给打印机还有另一个执行计算。操作系统从而管理这些任务以这样一种方式,所有的工作都完成不互相干扰。
分时的出现,用户直接在终端输入命令和接收结果,增加了更多的操作系统任务。过程被称为终端处理程序需要,以及机制等中断(得到的关注操作系统来处理紧急任务)缓冲区(用于临时存储数据的输入/输出的传输更顺利运行)。同时现代大型计算机和数百个用户互动,让每一个知觉的唯一用户。
另一个操作系统领域研究的设计虚拟内存。虚拟内存是一个方案,给用户错觉大块的工作连续的内存空间(甚至比实际内存),当事实上大部分的工作辅助存储器(磁盘)。固定大小的块(页)或适应可变块(段)的工作是根据需要读入内存。多少内存空间等问题分配用户和页面或部分应该返回到磁盘(“交换”),为进入的页面或部分必须解决为了系统有效地执行工作。
第一个是由商业上可行的操作系统IBM在1960年代,被称为OS / 360和DOS / 360。Unix是开发的贝尔实验室在1970年代早期以来催生了许多变体,包括Linux伯克利分校Unix, GNU苹果的iOS。操作系统开发的第一个人电脑在1980年代包括IBM的(后来微软的DOS,演变成各种口味的窗户。操作系统是21世纪一个重要的发展,他们变得越来越独立于机器的。