操作系统
文章平均质量分 53
youxin2012
这个作者很懒,什么都没留下…
展开
-
深入理解计算机系统--网络编程(2)格式转换函数
IP相关知识1. IP地址IP地址用1个32为无符号整数表示。存在 ip地址结构中structure in_addr{unsigned ints_addr; //网络顺序,大端法}备注:字节的存放顺序分:主机顺序与 网络顺序。均为无符号整数 转换函数#includeuint16_thtons(uint16_t hostshort);uint原创 2013-05-15 11:02:28 · 1761 阅读 · 0 评论 -
操作系统 内存管理机制
虚拟地址空间 与 物理地址空间的关系虚拟地址由操作系统维护,由MMU可以进行转换,扩大了内存空间分页管理。大多数使用虚拟存储器的系统都使用一种称为分页(paging)机制。虚拟地址空间划分成称为页(page)的单位,而相应的物理地址空间也被进行划分,单位是页帧(frame),一个在磁盘,一个在内存,页和页桢的大小必须相同。在32位地址的机器,它的虚拟地址范围从0~0xF原创 2014-07-11 16:15:11 · 2983 阅读 · 0 评论 -
C语言有符号加减溢出
sizeof(short int ) = 2;测试用例#include int main(){ short int a = -32768; short int b = 0x8000; short int c = 0xffff; short int d = 0x8001; printf("%d, %d, %d, %d\n", a, b, c原创 2014-07-02 16:23:22 · 6006 阅读 · 4 评论 -
进程调度 简介
源于百科,做简单梳理记录概念: 无论是在批处理系统还是分时系统中,用户进程数一般都多于处理器数、这将导致它们互相争夺处理器。另外,系统进程也同样需要使用处理器。这就要求进程调度程序按一定的策略,动态地把处理器分配给处于就绪队列中的某一个进程,以使之执行。 调度 作业从提交开始直到完成,往往要经历下述三级调度:高级调度:(High-Level Sc原创 2014-04-02 10:26:19 · 1685 阅读 · 0 评论 -
非本地跳转函数setjmp,longjmp, sigsetjmp, siglongjmp
非本地跳转一种用户级的异常控制流形式。将控制直接从一个函数转移到另一个当前正在执行的函数。不需要正常的调用-返回序列(入栈--出栈) (ps: 系统调用 为异常中陷阱的主要表现形式,参数都是通过通用寄存器而不是栈来传递的) 重要应用:从一个深层嵌套的函数调用中 立即返回。 相关函数:setjmp, longjmp表头文件:#include 函数定义:int原创 2013-12-25 19:16:17 · 1802 阅读 · 0 评论 -
异常控制流(ECF)机制--简介
异常控制流(ECF):当发生某种事件(例:一个硬件定时信号、包到达适配器后要求存储的事件等)操作系统使控制流发生突变来应对这些事件,称此突变为异常控制流(ECF)。ECF发生在计算机系统的各个层次。如 硬件层,检测到事件会触发控制突然转移到 异常处理程序。 在os层, 内核通过上下文转换将 控制从 一个用户进程转移到另一个用户进程。在应用层,一个进程可以发送信号到另一个进程,而接收原创 2013-12-22 22:52:51 · 2840 阅读 · 0 评论 -
异常控制流 之 进程与信号
进程进程创建pid_t fork(void);fork()一次调用,两次返回。子进程中返回0 (子进程得到自己pid的方法:pid = getpid()),父进程中返回子进程 pid.子进程获取与父进程相同的环境变量,最大的区别在于pid不同。示例:#include #include #include int main(){ pid_t pid原创 2013-12-23 22:50:43 · 1609 阅读 · 1 评论 -
存储器层次结构--利用高速缓存提升程序性能
存储器层次结构 基于缓存的存储器层次结构,通过让第k层的存储器为第k+1层存储器作缓存,提升数据访问效率。 因此,在程序设计过程中,应将最经常使用的数据尽可能多的存储于高速缓存中。 存储器层次结构如下:原创 2013-12-15 12:04:49 · 3638 阅读 · 0 评论 -
线程与进程的区别
线程与进程有 根本的不同。 每个进程 有其独立的 数据空间,文件描述符,以及进程的ID。线程共享 一个数据空间,文件描述符,以及进程的ID。 进程间 可以 通过 管道,socket, 信号,退出/等待 以及 运行环境来进行会话。线程是多个 函数的并发进行,运行在一个独立的进程中,即具有相同的运行环境。 共享全局变量,因此 线程之间的通信 通过更改与读取 全局变量来原创 2013-05-10 20:54:47 · 1771 阅读 · 1 评论 -
深入理解计算机系统--网络编程(3)web基础
1. Web基础Web客户端和服务器之间的交互用的是一个基于文本的应用级协议—HTTP协议。 过程:一个web客户端(即浏览器)打开一个到服务器的因特网连接,并且请求内容。服务器响应所请求的内容,然后关闭连接。 浏览器 读取内容,并把它们显示在屏幕上。 Web服务与常规的文件检索服务(如FTP)的主要区别:web内容可以用HTML语言来编写。一个HTML程序(原创 2013-05-15 14:05:02 · 1806 阅读 · 0 评论 -
虚拟存储器--虚拟地址与物理地址
计算机在运行程序时,需将代码加载入内存中,CPU读取内存中的代码并执行。早期的计算机在没有引入 虚拟存储器之前,需将整个待运行的程序加载到内存中,因为内存空间有限,当待加载的程序过大时就会出现问题(多进程,则需要占用更多的内存空间)。现代计算机引入虚拟存储器的概念,通过将对内存进行抽象,将其作为存储在硬盘上数据的高速缓存,只将当前进程部分代码缓存到主存中(当前进程的程序较少时,可以全部缓存在主存中原创 2014-09-03 13:52:26 · 7384 阅读 · 3 评论