![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
操作系统
文章平均质量分 87
banbanlin
这个作者很懒,什么都没留下…
展开
-
操作系统篇
目录:1. 进程的有哪几种状态,状态转换图,及导致转换的事件。2. 进程与线程的区别。3. 进程通信的几种方式。4. 线程同步几种方式。5. 线程的实现方式. (用户线程与内核线程的区别)6. 用户态和核心态的区别。7. 用户栈和内核栈的区别。8. 内存池、进程池、线程池。9. 死锁的概念,导致死锁的原因,导致死锁的四个必要条转载 2014-10-03 10:42:38 · 590 阅读 · 0 评论 -
linux 目录结构及其含义
首先介绍一下 linux 目录配置标准: FHS。 FHS: Filesystem Hierarchy Standard.建立这个标准的主要目的是希望让用户可以了解到已安装软件通常放置于那个目录下,所以希望独立的软件开发商、操作系统制作者以及想要维护系统的用户,都能够遵循 FHS 标准。1.根目录(/)的意义与内容根目录是整个 linux 系统最重要的一个目录,所有的目录都转载 2014-09-23 16:25:41 · 1031 阅读 · 0 评论 -
Linux启动过程分析
linux系统启动的过程,当时没答上来,现在整理出来(其实并不复杂)。 按下电源按钮的直到欢迎页出来之后,linux总共做的事可以分为五步来完成。 1、 BIOS加电自检: 加电自检,检测硬件设备。然后按照cmos上面的顺序来搜索处在活动状态下的可以引导的设备。可以是光驱、软盘、USB等。 2、 加载主引导加载程序(MBR): 主引导程序是一个转载 2014-09-15 09:57:12 · 604 阅读 · 0 评论 -
解释术语:虚拟内存、缺页中断、抖动
虚拟内存是计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续的可用的内存 (一个连续完整的地址空间),而实际上,它通常是被分隔成多个物理内存碎片, 还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。 与没有使用虚拟内存技术的系统相比,使用这种技术的系统使得大型程序的编写变得更容易, 对真正的物理内存(例如RAM)的使用也更有效率。缺页中断一个页(Page)是一个固定容量的内转载 2014-09-25 17:04:18 · 6660 阅读 · 1 评论 -
判断一台机器是大端序还是小端序
存储模式:大端模式和小端模式。大端模式(Big_endian):字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中。小端模式(Little_endian):字数据的高字节存储在高地址中,而字数据的低字节则存放在低地址中。union型数据所占的空间等于其最大的成员所占的空间。对union型的成员的存取都是相对于该联合体基地址的偏移量为0处开始,也就是联合体的访问不原创 2014-09-25 16:41:24 · 5232 阅读 · 0 评论 -
计算机是如何启动的?
从打开电源到开始操作,计算机的启动是一个非常复杂的过程。 我一直搞不清楚,这个过程到底是怎么回事,只看见屏幕快速滚动各种提示...... 这几天,我查了一些资料,试图搞懂它。下面就是我整理的笔记。 零、boot的含义 先问一个问题,"启动"用英语怎么说? 回答是boot。可是,boot原来的意思是靴子,"启动"与靴子有什么关系呢? 原来,这里的boo转载 2014-09-15 13:38:24 · 417 阅读 · 0 评论 -
内存泄露
看到网上有很多人都在问内存泄露与内存溢出的区别(CSDN上),而且后面还有一大堆的跟帖在用不同形式的语言予以解答,我看了以后思绪万千啊。内存泄露是导致内存溢出的原因之一,说他们的区别纯属无稽之谈。要解释什么是内存泄露还真是个费事的活,我用一个例子来解释下:12345678910转载 2014-09-23 18:18:16 · 460 阅读 · 0 评论 -
程序员对内存的理解
在C和C++语言开发中,指针、内存一直是学习的重点。因为C语言作为一种偏底层的中低级语言,提供了大量的内存直接操作的方法,这一方面使程序的灵活度最大化,同时也为bug埋下很多隐患。 因此,无论如何,我们都要对内存有一个清晰的理解。一、对内的分配 32位操作系统支持4GB内存的连续访问,但通常把内存分为两个2GB的空间,每个进程在运行时最大可以使用2GB的私有转载 2014-09-23 18:10:02 · 483 阅读 · 0 评论 -
Stack的三种含义
学习编程的时候,经常会看到stack这个词,它的中文名字叫做"栈"。 理解这个概念,对于理解程序的运行至关重要。容易混淆的是,这个词其实有三种含义,适用于不同的场合,必须加以区分。 含义一:数据结构 stack的第一种含义是一组数据的存放方式,特点为LIFO,即后进先出(Last in, first out)。 在这种数据结构中,数据像积木那样一层层转载 2014-09-23 15:31:21 · 782 阅读 · 0 评论 -
什么是堆和栈,它们在哪儿
问题描述 编程语言书籍中经常解释值类型被创建在栈上,引用类型被创建在堆上,但是并没有本质上解释这堆和栈是什么。我仅有高级语言编程经验,没有看过对此更清晰的解释。我的意思是我理解什么是栈,但是它们到底是什么,在哪儿呢(站在实际的计算机物理内存的角度上看)?在通常情况下由操作系统(OS)和语言的运行时(runtime)控制吗?它们的作用范围是什么?它们的大小由什么决定?哪个更快?转载 2014-09-23 16:21:36 · 569 阅读 · 0 评论 -
操作系统的主要功能
处理机管理功能处理机管理的主要功能是创建和撤消进程(线程),对诸进程(线程)的运 ( ) ( )行进行协调,实现进程(线程)之间的信息交换,以及按照一定的算法把处理机分配给进程(线程)原创 2014-09-12 23:27:22 · 1026 阅读 · 0 评论 -
操作系统学习:栈空间和堆空间
一个由C/C++编译的程序占用的内存分为以下几个部分: 1、栈区(stack):又编译器自动分配释放,存放函数的参数值,局部变量的值等,其操作方式类似于数据结构的栈。 2、堆区(heap):一般是由程序员分配释放,若程序员不释放的话,程序结束时可能由OS回收,值得注意的是他与数据结构的堆是两回事,分配方式倒是类似于数据结构的链表。 3、全局区(static)转载 2014-08-13 10:22:36 · 1099 阅读 · 0 评论 -
操作系统学习:线程 与 进程
进程是资源管理的最小单位,线程是程序执行的最小单位。在操作系统设计上,从进程演化出线程,最主要的目的就是更好的支持SMP(双CPU系统,实际上是对称多处理机系统中最常见的一种)以及减小(进程/线程)上下文切换开销。 1.进程是程序的一次执行。 线程可以理解为程序中的执行的一段程序片段。2.进程间是独立的,这表现在内存空间、上下文环境上; 线原创 2014-08-21 10:45:26 · 880 阅读 · 0 评论