jyh的博客

脚踏实地

排序:
默认
按更新时间
按访问量

Posix 信号量与System v信号量的区别

在回答这个问题之前,首先要先了解什么是Posix,什么又是System V。 简要的说,Posix是“可移植操作系统接口(Portable Operating System Interface )的首字母简写,但它并不是一个单一的标准,而是一个电气与电子工程学会即IEEE开发的一系列标准,它还是...

2018-07-27 16:31:01

阅读数:83

评论数:0

深入理解计算机系统 实现一个小型web服务器

  1. Web基础 web客户端和服务器之间的交互使用的是一个基于文本的应用级协议HTTP(超文本传输协议)。一个web客户端(即浏览器)打开一个到服务器的因特网连接,并且请求某些内容。服务器响应所请求的内容,然后关闭连接。浏览器读取这些内容,并把它显示在屏幕上。 对于web客户端和服务器...

2018-07-22 11:28:03

阅读数:37

评论数:0

分段和分页

操作系统面试题:https://blog.csdn.net/hackbuteer1/article/details/6787354 一. 分页存储管理 1.基本思想     用户程序的地址空间被划分成若干固定大小的区域,称为“页”,相应地,内存空间分成若干个物理块,页和块的大小相等。可将用户...

2018-07-20 14:40:32

阅读数:20

评论数:0

文件管理

转自:https://blog.csdn.net/Xiongchao99/article/details/749107941、Unix/Linux系统的目录结构答:Unix/Linux系统的目录是带链接树形目录结构,带链接树形目录结构又称非循环图目录结构,它是指访问一文件(或目录)可以有多条路径。...

2018-07-10 11:30:03

阅读数:38

评论数:0

页面置换、作业调度、进程调度小剖析

页面置换、作业调度和进程调度他们之间有很多相似的地方,作业跟进程调度之间尤为相似,之前一直搞不清他们之间的区别跟联系,你是不是也跟我有一样的感受呢?看完这篇文章或许会让你对他们有更清晰的认识。页面置换算法:1,先进先出:淘汰最早进入cache的信息块。2,最近最久未使用:淘汰近期使用频率最低的信息...

2018-06-24 17:23:07

阅读数:35

评论数:0

重点 操作系统是什么

操作系统的定义:操作系统是一个控制程序:1、它是一个系统软件2、控制程序执行过程,防止错误和计算机的不当使用3、执行用户程序,给用户程序提供各种服务4、方便用户使用计算机系统操作系统是一个资源管理器:1、是应用程序与硬件之间的中间层2、管理各种计算机软硬件资源3、提供访问计算机软硬件资源的高效手段...

2018-06-20 10:16:09

阅读数:56

评论数:0

读者—写者问题

读者写者是一个非常著名的同步问题。读者写者问题描述非常简单,有一个写者很多读者,多个读者可以同时读文件,但写者在写文件时不允许有读者在读文件,同样有读者在读文件时写者也不去能写文件。问题描述有读者和写者两组并发进程,共享一个文件,当两个或以上的读进程同时访问共享数据时不会产生副作用,但若某个写进程...

2018-06-02 20:48:41

阅读数:85

评论数:0

生产者/消费者模式

★简介    在实际的软件开发过程中,经常会碰到如下场景:某个模块负责产生数据,这些数据由另一个模块来负责处理(此处的模块是广义的,可以是类、函数、线程、进程等)。产生数据的模块,就形象地称为生产者;而处理数据的模块,就称为消费者。    单单抽象出生产者和消费者,还够不上是生产者/消费者模式。该...

2018-06-02 17:57:14

阅读数:26

评论数:0

并发编程

1、基于进程的并发编程使用fork()、exec()、waitpid()函数。例如构造一个并发服务器的自然方法就是:在父进程中接受客户端的连接请求,然后创建一个新的子进程来为每个新客户端提供服务。需要注意的点:1、父进程创建子进程后获得了描述符表的完整副本,它需要关闭描述符32、父进程由于要使服务...

2018-06-02 14:34:59

阅读数:110

评论数:0

系统级I/O

关于I/O可以先参考这些文章,但是这里可能还是有所不同。分析系统级别的I/O有什么不一样的地方。文件I/O高级I/O标准库I/O    开篇介绍了三个级别的I/O的区别之处。所有语言的运行时系统都提供执行I/O的较高级别的工具。例如,标准I/O库;在UNIX系统中,是通过使用由内核提供的系统级I/...

2018-06-01 11:53:03

阅读数:33

评论数:0

Main函数中的argc和argv应用举例

例1:打开指定路径下的一个文本文件,读取其内容,并将其写入到指定路径下的另一个文件当中。其中,采用argv来传递输入文件路径和输出文件路径。参考代码如下:#include "stdafx.h" #include "iostream&q...

2018-06-01 10:41:00

阅读数:52

评论数:0

什么是死锁及死锁的必要条件和解决方法

转自1、:http://blog.163.com/yanenshun@126/blog/static/128388169200982444858590/?fromdm&fromSearch&isFromSearchEngine=yes 2、 /bl...

2018-05-29 16:10:10

阅读数:74

评论数:1

重点 第九章 虚拟内存

第九章-----虚拟内存       系统中的进程共享CPU和主存资源,但存储器空间是有限的,而且还容易被破坏。现代系统提供了一种对主存的抽象,称为虚拟存储器,以更有效地管理存储器。虚拟存储器将主存看作磁盘上的地址空间的高速缓存,为每个进程提供了一致的地址空间,并保护进程的地址空间不被其他进程破坏...

2018-05-29 15:59:13

阅读数:46

评论数:0

重点 第七章 链接

1.静态链接     为了构造可执行文件,链接器必须完成两个主要任务:    ● 符号解析,目标文件定义和引用符号,每个符号对应于一个函数、一个全局变量或一个静态变量(即C语言中任何以static属性声明的变量)。符号解析的目的是将每个符号引用正好和一个符号定义关联起来。    ● 重定位,编译器...

2018-05-29 15:59:08

阅读数:56

评论数:0

重点 第八章 异常控制流、进程线程、处理机调度算法、信号

异常控制流控制转移控制流系统必须能对系统状态的变化做出反应,这些系统状态不是被内部程序变量捕获,也不一定和程序的执行相关。现代系统通过使控制流 发生突变对这些情况做出反应。我们称这种突变为异常控制流( Exceptional Control Flow,ECF)异常控制流发生在系统的各个层次。理解E...

2018-05-29 15:59:03

阅读数:86

评论数:0

第六章 存储器层次结构

存储器层次结构6.1 存储技术6.2 局部性6.3 存储器层次结构6.4 高速缓存存储器6.5 编写高速缓存友好的代码6.7 小结6.8 关于磁盘的补充讲解       好的程序代码不仅要有好的算法,对计算机硬件的充分利用也是很关键的一步。       存储器系统(memorysystem)是一个...

2018-05-29 15:58:58

阅读数:142

评论数:0

第五章 优化程序性能

 写程序的最主要目标就是使它在所有可能的情况下都正确工作。程序员必须写出“清晰简洁”的代码,读懂、理解、修改   代码。       编写高效程序:1.          选择合适的算法和数据结构2.          编写出编译器能够有效优化以转换成高效可执行代码的源代码。3.         ...

2018-05-29 15:58:53

阅读数:38

评论数:0

第三章 程序的机器级表示

机器级代码计算机系统使用了多种不同形式的抽象,利用更简单的抽象模型来隐藏实现的细节。对于机器级编程来说,其中两种抽象尤为重要:1、指令集体系结构(Instruction set architecture ISA)它定义了处理器状态、指令的格式,以及每条指令对状态的影响。IA32将程序的行为描述成好...

2018-05-29 15:58:49

阅读数:93

评论数:0

第二章、信息的表示和处理

现代计算机存储和处理的信息以二值信号表示。这些微不足道的二进制数字,或者称为位(bit),奠定了数字革命的基础。孤立的讲,单个的位不是非常有用。然而,当把位组合在一起,再加上某种 解释,即给不同的可能 位模式 赋予含义,我们就能表示任何有限集合的元素。 一、数值的表示 1. 1 数值的编码 ...

2018-05-29 15:58:44

阅读数:47

评论数:0

重点 总结: 计算机系统漫游

操作系统在计算机系统中处于计算机硬件和用户之间的位置1.信息就是 (位+上下文)#-------> hello.c #include<stdio.h> int mian(){ printf("hello ,...

2018-05-29 15:58:39

阅读数:44

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭