计算机网络基础

TCP/IP模型

实现网络通信的基础是网络通信协议,这些协议通常是由互联网工程任务组(IETF)制定的。所谓“协议”就是通信计算机双方必须共同遵从的一组约定,例如怎样建立连接,怎样相互识别等,网络协议的三要素是:语法、语义和时序。构成我们今天使用的Inter的基础的是TCP/IP协议族,协议族就是一系列的协议及其构成的通信模型,也把这套东西称为TCP/IP模型。与国际标准化组织发布的OSI/RM这个七层模型不同,TCP/IP是一个四层模型,自顶向上依次是:网络接口层、网络层、传输层和应用层。如下图所示。

阅读全文 »

概念

进程就是操作系统中执行的一个程序,操作系统以进程为单位分配存储空间,每个进程都有自己的地址空间、数据栈以及其他用于跟踪进程执行的辅助数据,操作系统管理所有进程的执行,为它们合理的分配资源。进程可以通过fork或spawn的方式来创建新的进程来执行其他的任务,不过新的进程也有自己独立的内存空间,因此必须通过进程间通信机制(IPC,Inter-Process Communication)来实现数据共享,具体的方式包括管道、信号、套接字、共享内存区等。
一个进程还可以拥有多个并发的执行线索,简单的说就是拥有多个可以获得CPU调度的执行单元,这就是所谓的线程。由于线程在同一个进程下,它们可以共享相同的上下文,因此对于进程而言,线程间的信息共享和通信更加容易。当然在单核DDPU系统中,真正的并发是不可能的,因为在某个时刻能够获得CPU的只有唯一的一个线程,多个线程共享了CPU的执行时间。使用多线程实现并发编程为程序带来的好处是不言而喻的,最主要的体现是提升程序的性能和改善用户体验。

阅读全文 »

11.文件和异常

在Python中实现文件的读写操作通过内置的open函数,我们可以指定文件名、操作模式、编码信息等来获得操作文件的对象,接下来就可以对文件进行读写操作了。

阅读全文 »