2019年11月4日
摘要: 进程活动是通过在cpu上执行一系列程序和相对应数据进行操作来实现的,程序和进程操作的数据是进程存在的实体,但程序和数据都是静态的代码段和文本,不能反映进程的动态性。为此,需要一个数据结构来描述进程当前的状态和特性等,这种数据结构就称为进程控制块(pcb)(在linux称为task-struct,下文 阅读全文
posted @ 2019-11-04 19:34 LeeYatWah 阅读(697) 评论(0) 推荐(0)
  2019年11月3日
摘要: deque是一种双向开口的连续线性空间,可以在头尾两端分别做元素插入和删除操作。deque没有“容量”(capacity)的观念,是动态地以分段连续空间组合而成,随时可以增加一段新空间如何连接起来。 deque的中控器 deque是由一段段的定量连续空间组成。一旦需要在deque的前端或者尾端增加新 阅读全文
posted @ 2019-11-03 20:38 LeeYatWah 阅读(203) 评论(0) 推荐(0)
  2019年10月20日
摘要: 今天开始整理记录linux操作系统相关知识,一方面是对上半年学习操作系统的总结,另一方面留着当作将来应对考试面试的复习笔记 进程 用通俗易懂的话来讲,进程就是处于执行期的程序。程序是一组计算机能识别的执行的指令集合,程序不是进程,执行中的程序才是进程。但进程可不仅仅局限于一段可执行程序代码,其通常还 阅读全文
posted @ 2019-10-20 20:20 LeeYatWah 阅读(394) 评论(0) 推荐(0)
摘要: 较久以前学过数据结构,对链表的定义和行为结构有过了解,所以阅读源码学习stl定义的list容器的并不算吃力。 list与vector都是两个常用的容器,与vector不同,list不是连续线性空间的,list是一个双向链表。每次插入或者删除一个元素,将配置或者释放一个元素空间,因此,list对于空间 阅读全文
posted @ 2019-10-20 14:51 LeeYatWah 阅读(278) 评论(0) 推荐(0)
  2019年10月19日
摘要: vector的数据安排以及操作方式,与array(c++自身提供的序列式容器)非常相似。两者唯一的差别在于空间的运用的灵活性。array是静态空间,一旦配置了将不能随意更改其大小,若要更改需要重新配置一块新的空间,如何将元素从旧址中一一搬迁,再释放原来的系统。而vector是动态空间,随着元素的加入 阅读全文
posted @ 2019-10-19 18:14 LeeYatWah 阅读(228) 评论(0) 推荐(0)
  2019年10月18日
摘要: STL的中心思想在于:将数据容器和算法分开,彼此独立设计,最后再以一帖胶着剂将它们撮合在一起。 这帖胶着剂就是接下来要介绍的迭代器。算法是通过迭代器来对容器进行操作的。 迭代器是一种智能指针 迭代器是一种行为类似指针的对象(智能指针),其最重要的工作就是对opperator* 和 operator- 阅读全文
posted @ 2019-10-18 19:47 LeeYatWah 阅读(163) 评论(0) 推荐(0)
摘要: stl提供了六大组件,其中之一的便是配置器。配置器的作用是负责空间配置和管理,从实现的角度看,配置器是一个实现了动态空间配置、空间管理、空间释放的类模板。stl提供的配置器配置对象为内存,而非硬盘空间或其他空间。 SGI特殊空间配置器,std::alloc stl的配置器标准与规范不同,其名称为al 阅读全文
posted @ 2019-10-18 16:58 LeeYatWah 阅读(201) 评论(0) 推荐(0)
  2019年9月24日
摘要: malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由于malloc/free 阅读全文
posted @ 2019-09-24 12:00 LeeYatWah 阅读(477) 评论(0) 推荐(0)
  2019年9月21日
摘要: 传输层的协议有两个,TCP协议和UDP协议。TCP协议是TCP/IP协议族中一个重要的协议,相对于UDP协议,TCP协议的特点是:面向连接、字节流和可靠传输。 使用TCP协议通信的双方必须先建立连接,才能开始数据的读写,而数据交换完成后,通信双方都必须断开连接以释放系统资源。在TCP连接从建立到断开 阅读全文
posted @ 2019-09-21 21:23 LeeYatWah 阅读(1116) 评论(0) 推荐(0)