系统设计
zaishaoyi
如果学习不用来装逼,那将毫无意义~
展开
-
OpenMP简介
OpenMp是由OpenMP Architecture Review Board牵头提出的,并已被广泛接受的,用于共享内存并行系统的多线程程序设计的一套指导性的编译处理方案(Compiler Directive)。OpenMP支持的编程语言包括C语言、C++和Fortran;而支持OpenMp的编译器包括Sun Compiler,GNU Compiler和Intel Compiler等。O转载 2015-06-16 15:31:02 · 1424 阅读 · 0 评论 -
windows笔记-虚拟内存
Windows提供了3种进行内存管理的方法: • 虚拟内存,最适合用来管理大型对象或结构数组。 • 内存映射文件,最适合用来管理大型数据流(通常来自文件)以及在单个计算机上运行的多个进程之间共享数据。 • 内存堆栈,最适合用来管理大量的小对象。 虚拟内存在地址空间中保留一个区域 通过调用VirtualAlloc函数,可以在进程的地址空间中保留一个区域:转载 2015-06-29 13:40:50 · 757 阅读 · 0 评论 -
内核对象
原文地址>>1. 什么是内核对象内核对象是操作系统为一些系统级的对象(像进程,线程,信号量)维护的一些数据结构。这些数据构保存了与系统级对象相关的系统级信息。例如:所有内核对象都会保存该对象的引用计数。进程对象会保存进程ID。文件对象会保存当前字节偏移量,共享模式,打开模式等。操作系统中所有内核对象对是保存在一块内存空间中,系统上所有的进程都共享这一块内存空间。转载 2015-07-03 10:52:00 · 433 阅读 · 0 评论 -
线程
原文地址>>其实在一个进程中真正做事情是线程,因此每个进程至少有一个线程。(其实操作系统会为每个进程自动创建一个主线程,这个主线程的执行函数但是我们的Main函数)操作系统创建线程的时候和创建进程的行为差不多:1.创建一个线程内核对象,这个内核对象为记录关于线程的一些基本信息。2.为线程在进程的地址空间中分配一个栈用来保存在线程中所产生的资源。转载 2015-07-03 11:17:47 · 524 阅读 · 0 评论 -
进程
原文地址>>已经做了几年的软件开发了,对于什么是进程,却没有一个系统的认识。只知道双击一个exe文件,任务管理器中就会多出一个进程。然后知道每个进程会有一个地址空间,在进程中的内存访问其实都是相对于该地址空间的地址表示。其实也算是知道个大概了,只是没有系统的总结出来而已,通过阅读《Windows核心编程》,重新对进程有了一个系统的认识。进程是程序的一个实例,它由以下两部分构成:转载 2015-07-03 11:16:27 · 459 阅读 · 0 评论 -
linux多进程之间的文件锁
原文地址>>之前对于文件的操作通常在一个进程中完成,最近需要在两个进程中对同一个文件进行操作。故想到了文件锁。linux下可以使用flock()函数对文件进行加锁解锁等操作。简单介绍下flock()函数: 表头文件 #include 定义函数 int flock(int fd,int operation); 函数说明 flock()会依参转载 2015-07-07 10:14:48 · 2408 阅读 · 0 评论