一 临界区和竞争条件 临界区:访问和操作共享数据的代码段。 竞争条件:多个执行线程处于同一个临界区中。 处于竞争条件:造成访问的数据或者资源不一致状态: 对资源i的访问:ProcessA和B访问后得到正确的结果应该是9: 进程是并发执行,有可能得到的结果是:8 防止这种情况的发生:保证对资源的访问原 ...
分类:
系统相关 时间:
2017-11-22 20:20:18
阅读次数:
169
一 原子操作 指令以原子的方式执行——执行过程不被打断。 1 原子整数操作 原子操作函数接收的操作数类型——atomic_t 2 原子位操作 二 自旋锁 原子位和原子整数仅能对简单的整形变量进行原子操作,对于复杂的数据复杂的操作并不适用。 需要更复杂的同步方法实现保护机制——锁。 自旋锁:同一时刻只 ...
分类:
系统相关 时间:
2017-11-22 20:15:04
阅读次数:
213
内核与操作系统: 内核是操作系统的核心部分,包含了系统运行的核心过程,决定系统的性能,操作系统启动内核被装入到RAM中; 操作系统与底层硬件设备交互和为运行应用程序提供执行环境。 Linux内核与微内核比较: 微内核:内核只需要一个很小的函数集,通常包括几个同步原语,一个简单的调度程序和进程间通信机 ...
分类:
系统相关 时间:
2017-11-22 20:08:54
阅读次数:
143
一 块I/O基本概念 字符设备:按照字符流的方式被有序访问的设备。如串口、键盘等。 块设备:系统中不能随机(不需要按顺序)访问固定大小的数据片(chunk 块)的设备。 如:硬盘、软盘、CD-ROM驱动器、闪存等。都是通过以安装文件系统的方式使用。 块设备的组成: 扇区:是块设备中最小的可寻址单元( ...
分类:
系统相关 时间:
2017-11-22 20:04:31
阅读次数:
145
一 页 内核把物理页作为内存管理的基本单位;内存管理单元(MMU)把虚拟地址转换为物理 地址,通常以页为单位进行处理。MMU以页大小为单位来管理系统中的也表。 32位系统:页大小4KB 64位系统:页大小8KB 内核用相应的数据结构表示系统中的每个物理页: <linux/mm_types.h> st ...
分类:
系统相关 时间:
2017-11-22 20:02:03
阅读次数:
213
一 用户空间和内核空间 Linux内核将这4G字节虚拟地址空间的空间分为两部分: l 将最高的1G字节(从虚拟地址0xC0000000到0xFFFFFFFF),供内核使用,称为“内核空间”。 l 将较低的3G字节(从虚拟地址 0x00000000到0xBFFFFFFF),供各个进程使用,称为“用户空 ...
分类:
系统相关 时间:
2017-11-22 19:58:18
阅读次数:
183
一 中断 硬件通过中断与操作系统进行通信,通过对硬件驱动程序处注册中断处理程序,快速响应硬件的中断。 硬件中断优先级很高,打断当前正在执行的程序。有两种情况: 硬件中断在中断处理程序中处理 硬件中断延后再进行处理 这个具体硬件相关,在中断处理程序中处理,打断了当前正在执行的程序;所有中断都将被屏蔽; ...
分类:
系统相关 时间:
2017-11-22 19:58:08
阅读次数:
165
一 进程与线程 进程就是处于执行期的程序,包含了独立地址空间,多个执行线程等资源。 线程是进程中活动的对象,每个线程都拥有独立的程序计数器、进程栈和一组进程寄存器。 内核调度的对象是线程而不是进程。对Linux而言,线程是特殊的进程。 二 进程描述符及任务结构 内核使用双向循环链表的任务队列来存放进 ...
分类:
系统相关 时间:
2017-11-22 19:57:34
阅读次数:
251
1.linux下的.ssh文件夹在~下,直接cd ~/.ssh即可 2.tp经过gd类处理过的水印图片格式为png 3.前端扒下别人家的网站如果自己本地打开有出现相同的代码段则有可能是js动态添加的,把原来的重复的删除即可; ...
分类:
其他好文 时间:
2017-11-18 12:41:01
阅读次数:
112
Linux 密码:root; 一、常用指令: 1.sudo apt-get install vim(表示要安装vim这个软件,sudo表示管理员权限) 2.检查GCC编译器版本:gcc -v(注意:“-”前面有一个空格) gcc编译器是用来编译c语言的,g++是用来编译c++的; 3.Clear:清 ...
分类:
系统相关 时间:
2017-11-08 19:52:19
阅读次数:
174