- 博客(43)
- 资源 (23)
- 收藏
- 关注
转载 进程和线程的区别是什么?-来自知乎高赞回答
线程和进程的区别是什么? - zhonyong的回答 - 知乎 https://www.zhihu.com/question/25532384/answer/81152571作者:zhonyong链接:https://www.zhihu.com/question/25532384/answer/81152571来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。首先来一句概括的总论:进程和线程都是一个时间段的描述,是CPU工作时间段的描述。下面细说背景:CP.
2020-05-15 10:21:20
510
转载 C++默认构造函数---误解排查,深入解析(不保证完全正确)
阅读目录正文 2.基类带有默认构造函数的派生类。 3. 带有虚函数的类 4.带有虚基类的类 什么是默认构造函数? 默认构造函数什么时候被调用? 理解“被需要”这三个字 何时默认构造函数才会被编译器需要? 总结 正文 对于C++默认构造函数,我曾经有两点误解:类如果没有定义任何的构造函数,那么编译器(一定会!)将为类定义一个合成的默...
2018-08-02 15:02:01
1896
3
转载 晶硅太阳能发电 原理
晶硅太阳能电池发电原理 一、N型半导体与P型半导体 完全纯净的、具有晶体结构的半导体,称为本征半导体,原子之间形成共价键,其结构如图1-3所示。共价键中的两个电子,称为价电子。 图1:本征半导体结构图 价电子在获得一定能量(温度升高或受光照)后,即可挣脱原子核的束缚,成为自由电子(带负电),同时共价键中留下一个空位,称为空穴(带正电),如图1-4所示。自由电子和空穴都称...
2018-07-30 10:28:44
5812
转载 C++ 左值与右值
关于C++左值和右值区别有没有什么简单明了的规则可以一眼辨别? - 顾路的回答 - 知乎 https://www.zhihu.com/question/39846131/answer/85277628
2018-07-24 19:35:59
181
原创 java知识
1,instanceof运算符: <变量名>instanceof<类型> -----如果instanceof操作符左侧的变量当前类型是其右侧给出的类型,或者是其子类,则整个表达式结果为true,否则结果为false。----即变量名类型和类型一样 或 变量名类型是类型子类。2,...
2018-05-11 20:23:07
143
原创 java知识1
1,java多态:子类对象可以替代父类对象的使用。 Person p=new Student(); 其中student是person的子类。 具体规则如下所示:1 一个对象只能属于一种确定的数据类型,该类型自对象创建直至销毁不能改变。 2一个引用类型变量可能引用(指向)多种不同类型的对象-----即可以引用其声明的对象,也可以引用其声明类型的子类的对象2,匿名对象与有名对象的区别:...
2018-05-10 10:25:28
168
原创 java小知识
1:java关键字都是小写的。其次goto和const被作为关键字保留了下来,虽然java不用-主要防止误用。2:+算术符作用于两个数时表示算术加法运算,作用于两个字符串类型时表示字符串连接操作。3,java语言不允许使用0或者非0的整数来作为boolean值使用4,java变量不但要事先声明,还必须被初始化,即赋值后才可以使用它的值。...
2018-05-07 19:56:39
180
原创 java 零碎知识点
1,计算机科学中,称可支撑程序运行的硬件与软件环境为平台--主流平台包括但不限于Microsoft Windows ,linux。平台=操作系统+底层硬件。 各平台都有其特有的指令格式。各个平台的可执行文件,不能再其他平台运行这叫做---平台相关。2,注意: java平台和大多数平台不同,是一种纯软件平台,他运行于其他基于硬件的平台(例如Windows)之上,java虚拟机在运行时并不能直接操控...
2018-05-07 11:17:02
164
原创 JAVA技术特性
1,JDK包含丰富的API(预先准备好的,提供各种常用功能的代码模块)。2,面向对象技术3,分布式-使用JDK中的API,java程序可以便捷的实现网络通信4,多线程技术5,动态性6,java语言中所有数据类型都是定长的,与程序运行所在的计算机处理器结构和操作系统无关7,健壮性 --内存分配全由系统负责,取消了指针类型,指针运算8,安全性...
2018-05-07 09:41:02
805
原创 大小端
1 内存存储的大小端模式: 高字节位存储在高地址 ---称为小端高字节位存储在低地址 ---称为大端----无论大小端,都可以使用,但一个地方只能用一种否则会出错;2代码测试大小端:经典比试题:用C语言代码测试机器大小端#includeunion myunion{int a;char b; }
2016-12-06 17:28:23
1347
转载 c语言高级---内存对齐
两篇博客:1111------------http://www.cnblogs.com/dolphin0520/archive/2011/09/17/2179466.html2222-------------http://blog.youkuaiyun.com/sno_guo/article/details/8042332
2016-12-03 15:05:56
371
原创 C语言复杂表达式,指针高级运用
1指针数组是数组数组指针是指针:指针指向的是一个数组。分析:int *p[5];int (*p)[5];int *(p[5]);//和第一个是一样的,小括号是多余的,用了也没错。第一步找核心:定义的符号是谁第二步找结合:如果核心和*结合,表示指针;如果核心和【】结合,表示数组;如果核心和()结合,表示是函数。第三步向外扩展:找到核心后,从内到外逐层的进行
2016-11-22 12:14:41
1840
原创 c高级之指针2
1指针与强制类型转换:int char short(兼容型)是同一类属于整型,他们的存储方式(即转换成内存中的二进制的方式)是相同的,只是内存格子长度不一样。float是一类double是一类a做左值存数进去时,是按照a的数据类型来存储的,用printf()来读取时是按照里面的%d,%f,%c之类的来解析,但是内存本身的内容是没有被改变的,只是读取的解析方法不同。数据类
2016-11-22 12:11:42
262
原创 c高级之指针1
1指针:*指针的实质就是个变量,它跟普通变量没有任何区别,指针完整的名字是:指针变量。int a与int *p 中a与p绑定的内存空间都是4个字节指针出现是为了间接访问(cpu间接寻址是cpu设计时决定的)%p与%x打印指针,打印出的值是一样的下面四种在效果上是一样的,编译器不会报错:int *p1 //定义多个是更好理解:int *p1,*p2.---
2016-11-13 15:13:41
253
原创 c高级之---位操作
1 位操作符位与&:位或|:位取反~:操作数的二进制位逐个取反逻辑取反!:真(非0)-->假(0),假(0)-->真(1):一个非零数逻辑取反两次一定等于1位异或^:1^1=0^0=0;1^0=0^1=1.异或:相异就或操作。左位移与右位移:对于无符号数,左移与右移时都是另一侧补0(相当于逻辑移位)对于有符号数:左移时右侧补0 (算术移位,相
2016-11-09 22:17:09
718
原创 c语言高级----内存1
1 程序运行的目的无外乎两个==得到结果或得到过程。计算机程序运行过程,其实就是程序中很多个函数相继运行的过程。程序是由很多个函数组成,程序的本质就是函数,函数的本质就是加工数据的动作冯诺依曼结构:数据和代码放一起。哈佛结构:数据和代码分开存在。什么是代码:函数什么事数据:全局变量,局部变量。动态内存DRAM:静态内存SRAM:为什么
2016-11-06 16:00:46
283
转载 操作系统(9)I/O系统管理
1、外部设备分为存储型设备和I/O型设备。设备管理通常使用I/O中断、缓冲区管理、通道、设备驱动调度等多种技术。操作系统将所有设备都定义为文件,将其统一在文件系统之下,赋予文件属性,对设备的操作就类似于对文件的操作。因此,设备管理功能有:设备中断处理,缓冲区管理,设备分配和去配,设备驱动调度,虚拟设备及其实现。2、通常把I/O设备及其接口线路、控制部件、通道和管理软件称为I/O系统
2016-10-23 20:24:46
579
转载 linux磁盘分区与交换空间的使用
简单磁盘分区与交换空间的使用磁盘分区使用linux大致文件系统:/ ##根目录/boot ##内核以及夹在内核所需要文件/home ##系统用户宿主目录,每个用户均有一个同名目录/tmp ##临时文件存在目录,在命令进行操作的时候产生临时的文件存放处/usr ##系统应用程序以及相关文档/var ##系统专
2016-10-23 18:00:30
2903
转载 磁盘管理 交换空间
了解需求分页的概念。 ※了解物理,有效,和可锁定内存。 ※确定系统中物理内存,有效内存,和可锁定内存的数目。 ※确定系统现有的和正在使用中的交换区的数量。 ※在命令行中配置设备交换区。 ※在命令行中配置文件系统交换区。 ※取消交换分区。
2016-10-23 17:54:07
1815
转载 磁盘调度
操作系统有责任高效的使用硬件------对磁盘设备意味着很短的访问时间和磁盘带宽磁盘访问时间=寻道时间+旋转延迟+传输时间寻道时间~寻道距离磁盘是可以被多个进程共享的设备,当有多个进程请求访问磁盘时,需要采用一种调度算法,使每个进程的磁盘平均访问时间达到最小(主要是寻道时间)。磁盘调度在多道程序设计的计算机系统中,各个进程可能会不断提出不同的对磁盘进行读/写操作的请求。由于
2016-10-23 16:43:48
389
转载 磁盘
磁盘工作情况,视频展现链接http://player.ku6.com/refer/zCTB6Fmc2HGRPxko/v.swf:硬件一般硬盘正面贴有产品标签,主要包括厂家信息和产品信息,如商标、型号、序列号、生产日期、容量、参数和主从设置方法等。这些信息是正确使用硬盘的基本依据,下面将逐步介绍它们的含义。硬盘主要由盘体、控制电路板和接口部件等组成,如图1
2016-10-23 16:30:31
273
转载 Linux的Ext2文件系统
一、简介1、通常所做的磁盘分区格式化,为什么要对磁盘分区进行格式化?那就是因为每种操作系统所设置的文件属性/权限等数据并不相同,为了存放这些文件所需的数据,那么就需要将分区进行格式化,以成为操作系统能够利用的文件系统格式。2、一个文件系统就是一个分区吗?在早期,一个分区只能被格式化为一个文件系统,所以一个文件系统就是一个分区。但是由于新技术的到来,可以将一个分区格式
2016-10-22 20:08:40
325
转载 VFS(linux虚拟文件系统)
VFS由一下对象模型组成:1,超级块对象:存放已安装文件系统的信息,对基于磁盘的文件系统,这类对象通常对应于存放在磁盘上的文件系统控制块。所有的超级块对象都以双向循环链表的形式链接在一起,每个节点有自旋锁避免此链表受到多处理器系统上的同时访问。在各种具体文件系统安装时建立的,并在卸载时自动删除。linux对于每种已安装的文件系统,内存中都有与其对应的超级快2
2016-10-22 19:16:18
288
转载 mmap之内存映射文件与常规文件操作比较
阅读目录mmap基础概念mmap内存映射原理mmap和常规文件操作的区别mmap优点总结mmap相关函数mmap使用细节回到顶部mmap基础概念mmap是一种内存映射文件的方法,即将一个文件或者其它对象映射到进程的地址空间,实现文件磁盘地址和进程虚拟地址空间中一段虚拟地址的一一对映关系。实现这样的映射关系后,进程就可以采用指针的方式读写操作这一段内存,而系统会自
2016-10-22 18:59:07
1615
原创 目录实现之文件的按名存取
为了实现用户对文件的按名存取:-------->系统必须首先利用用户提供的文件名----------->对文件目录进行查询------------->找出该文件的文件控制块FCB--------------->(对UNIX系统即要找出该文件的索引节点,----------------->然后根据找到的FCB中所记录的文件物理地址,并根据文件物理组织方式,找出文件的盘块号--
2016-10-19 15:06:37
5050
1
转载 文件系统实现概念
文件系统永远在外存中,存储大量数据。文件能够原地改写,即能够读出一块,并修改,再写回。外存和内存的传输的最小单位为block。磁盘是随机存储器。文件系统设计也是分层设计思想。从最底层开始讲起。(1)I/O控制层,包括设备驱动程序(翻译高层命令控制硬件控制器)+中断处理程序。(2)基本文件系统:发送高层命令给设备驱动程序用以对磁盘进行读写。(3)文件组织模块:从逻辑块--
2016-10-18 21:50:26
1071
原创 文件系统的实现--学习笔记小记
文件系统管理事实:文件的结构:基本的逻辑存储单元称为数据块(data blocks)文件管理信息保存在,文件控制快FCB文件系统被设计成层次化的管理体系:文件系统通常驻留在辅存(硬盘等),要求文件系统的管理高效,方便的访问磁盘上的数据磁盘上的设备驱动程序只是控制物理设备即磁盘。层次化管理详解:I/O control:device drivers,interrup
2016-10-18 11:16:11
385
原创 文件系统基本概念汇总
1--- 文件系统=文件+目录结构;2--- 从用户的角度而言,文件是逻辑外存的最小分配单元,即数据除非在文件中,否者不能写到外存。文件表示程序(源形式和目标形式)和数据。3---文件根据其类型具有一定的结构4---文件属性:名称,位置,大小,保护,标识符,类型,时间,日期,用户标识。所有文件信息都保存在目录结构中,而目录结构也保存在外
2016-10-17 19:46:47
779
转载 操作系统概念-----虚拟内存管理
背景第八章所介绍的内存管理算法都是基于一个基本要求:执行指令必须在物理内存中,满足这一要求的第一种方法是整个进程放在内存中。动态载入能帮助减轻这一限制,但是它需要程序员特别小心地做一些额外的工作。指令必须都在物理内存内的这一限制,似乎是必须和合理的,但也是不幸的,因为这使得程序的大小被限制在物理内存的大小内。事实上,研究实际程序会发现,许多情况下并不需要将整个程序放到内存中。即使在
2016-10-16 14:03:47
1041
原创 操作系统---颠簸(抖动)
-- 在更换页面时,如果更换页面是一个很快会被再次访问的页面,则再次缺页中断后又很快会发生新的缺页中断。 整个系统的效率急剧下降------这种现象称为颠簸(抖动) ----内存颠簸的解决策略是: 1-如果是因为页面替换策略失误,可以修改替换算法来解决这个问
2016-10-16 13:30:23
13049
原创 缺页中断的硬件与软件的协同作用
-------- --硬件: 作业访问某页面时,硬件的地址转换结构查页表,若该页对应有效位标志位为1,则进行地址转换为绝对地址;若为0,则由硬件发出一个缺页中断,表示该页不在主存中。 --软件: 中断处理程序先看主存是否还有空缺快,若有,根据辅助存储器的地址找到该页并从硬盘装入内存,并在页表中填上它的块号,修
2016-10-16 11:39:22
1099
原创 交换与虚拟存储器的介绍与作用区别
1 交换是把内存中暂时不能运行的进程或暂时不用的程序和数据换出到外存上,以此腾出足够的内存空间,把已经具备运行条件的进程或进程需要的程序和数据换入内存。交换是提高内存利用率的有效措施。2虚拟存储器是指仅把作业的一部分装入内存便可以运行的存储器系统,是指具有请求资源调入功能和置换功能,能从逻辑上对内存容量进行扩充的一种存储器系统。虚拟存储器系统的实现都是建立在离散分配存储管理的基
2016-10-16 11:21:20
2007
转载 页面置换算法
1. 总述 为提高内存利用率,解决内存供不应求的问题,更加合理的使用内存,人们创造了分页式内存抽象。同时有一个虚拟内存的概念,是指将内存中暂时不需要的部分写入硬盘,看上去硬盘扩展了内存的容量,所以叫做“虚拟”内存。使用虚拟内存,应用程序可以使用比实际物理内存更大的内存空间。可以认为这个更大的内存空间就在硬盘上,只有将某一部分需要被用到时,才被写入真实内存;当它暂时不再被用到时,又被写回硬
2016-10-14 18:00:36
506
转载 操作系统知识小结
操作系统的基本特征并发:同一段时间内多个程序执行(注意区别并发和并行,前者是同一时刻的多个事件,后者是统一时间段内的多个事件)共享:系统中的资源可以被内存中多个并发执行的进线程共同使用虚拟:通过时分复用(如分时系统)以及空分复用(如虚拟内存)技术实现把一个物理实体虚拟为多个异步:系统中的进程是以走走停停的方式执行的,且以一种不可预知的速度推进操作系统的主要功能处理机管理:处
2016-10-14 17:58:43
284
原创 操作系统虚拟内存的作用概括
一:首先,虚拟内存技术实际上并没有增大物理内存,只是表面上看起来像增大了物理内存。物理内存增大需要实际现实内存的增加。其实虚拟内存技术可以看成是逻辑内存的增加。其次,虚拟内存主要目的不是为了增加“物理内存”,而是将内存中一段时间不用的数据暂时的转移到磁盘或其他介质上去,从而为其他新的数据腾出内存空间。当被转移出去的数据需要用的时候再移回内存中来。主要技术就是地址空间的重新映射,将原先的内存
2016-10-14 17:41:28
2306
转载 操作系统之内存管理详解
简介 内存是计算机中最重要的资源之一,通常情况下,物理内存无法容纳下所有的进程。虽然物理内存的增长现在达到了N个GB,但比物理内存增长还快的是程序,所以无论物理内存如何增长,都赶不上程序增长的速度,所以操作系统如何有效的管理内存便显得尤为重要。本文讲述操作系统对于内存的管理的过去和现在,以及一些页替换的算法的介绍。 对于进程的简单介绍 在开始之前,首先从
2016-10-10 20:25:10
540
转载 多线程和进程相比解析
使用多线程的理由之一是和进程相比,它是一种非常"节俭"的多任务操作方式。我们知道,在Linux系统下,启动一个新的进程必须分配给它独立的地址空间,建立众多的数据表来维护它的代码段、堆栈段和数据段,这是一种"昂贵"的多任务工作方式。而运行于一个进程中的多个线程,它们彼此之间使用相同的地址空间,共享大部分数据,启动一个线程所花费的空间远远小于启动一个进程所花费的空间,而且,线程间彼此切换所需的时间也远
2016-10-06 11:51:57
228
转载 信号量深入理解,疑问解答
信号量 信号量是最早出现的用来解决进程同步与互斥问题的机制, 包括一个称为信号量的变量及对它进行的两个原语操作。 一. 信号量的概念 1.信号量的类型定义 每个信号量至少须记录两个信息:信号量的值和等待该信号量的进程队列。它的类型定义如下:(用类PASCAL语言表述) semaphore = r
2016-10-05 18:01:06
911
2
转载 Lamport面包店算法详解
范例1:boolean choosing[n];表示进程是否在取号int number[n];记录每个进程取到的号码这些数据结构分别初始化为false和0,为了方便,定义如下符号:若ado{ choosing[i] = true; number[i] = max{number[0],number[1],…,n
2016-09-28 21:51:57
9000
1
转载 Lamport面包店算法
Lamport面包店算法是解决多个线程并发访问一个共享的单用户资源的互斥问题的算法。 由Leslie Lamport发明[1]。目录 [隐藏] 1 算法1.1 类比1.2 进入临界区1.3 非临界区2 算法实现2.1 定义2.2 伪代码2.3 讨论3 参见4 外部链接5 参考文献算法[编辑]类比[编辑]
2016-09-28 13:14:10
813
McgsPro 3.3.3.5781 组态软件安装包McgsPro 3.3.3.5781 组态软件安装包McgsPro 3.3
2024-07-20
连接世界互联网工具连接世界互联网工具连接世界互联网工具连接世界互联网工具连接世界互联网工具连接世界互联网工具连接世界互联网工具连
2024-07-20
ab plc编程软件授权文件大全ab plc编程软件授权文件大全ab plc编程软件授权文件大全ab plc编程软件授权文件大全
2024-07-20
卓兰可配置modbus网关资料
2024-06-01
wincc 7.5 web发布浏览器,winccviewrRT
2022-09-14
modbus客户端 读写modbus数据,Modscan32软件
2022-09-14
51黑论坛_51单片机汇编语言教程(全28讲).zip
2021-09-08
51单片机DS1302 1602显示程ds1302.txt
2021-09-08
免费 LTC 高性能 Spice III 仿真器 LTspice
2018-11-26
基于单片机电子秤设计
2018-05-14
单片机实训
2015-12-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人