找工作-乱七八糟资料

来源:互联网 发布:网络文学创作与欣赏 编辑:程序博客网 时间:2024/05/22 11:13

什么是外部碎片,内部碎片?

外部碎片,是由于大量信息由于先后写入、置换、删除而形成的空间碎片。为了便于理解,我们将信息比作货物,将存储空间比作仓库来举例子。假设,我们有编号为1、2、3、4、5、6的6间仓库库房,前天送来了一大宗货,依次装入了1、2、3、4、5号仓库,昨天又因故将4号库房的货物运走了,那么数值上说我们还有两间空仓库的空间,但是如果这时候送来两间仓库容量的货物但要求必须连续存放的话,我们实际上是装不下的。这时的4、6号仓库,就成为一种空间的碎片。由于这样的原因形成的空间碎片,我们称之为外部碎片。从上面的例子我们可以理解,外部碎片是可以通过一些措施来改善或者解决的。对于在硬盘上的外部碎片,我们通常用磁盘碎片整理来解决,对应上面的例子,就是将5号仓库的货物及时移动到新腾出的4号仓库,这样,1-4号仓库都是满的,而5、6号仓库则形成了有效的、连续的空间,能够适应新的应用要求了;对于内存中的外部碎片,我们内存管理中常用的页面管理形式,就是为了解决这个问题的。这里就不详述了。

        内部碎片,是由于存量信息容量与最小存储空间单位不完全相符而造成的空间碎片。还是沿用上面的例子,这次我们的6间仓库目前都是空置的,但是假设我们管理仓库的最小空间单位是间,今天运来了容量为2.5间仓库的货物,那也要占用我们1-3号3间仓库,尽管3号仓库还闲置着一半的空间,但是这半间仓库已经不能再利用了(因为是以间为最小单位么);这时,我们的仓库中就形成了半间仓库的空间碎片,仓库的有效容量只剩下3间仓库了。

以上来自:http://zhidao.baidu.com/question/337634817.html

使用线性探测法构造哈希表

已知一组关键字为(26,36,41,38,44,15,68,12,06,51),用除余法构造散列函数,用线性探查法解决冲突构造这组关键字的散列表。

  解答:为了减少冲突,通常令装填因子α<l。这里关键字个数n=10,不妨取m=13,此时α≈0.77,散列表为T[0..12],散列函数为:h(key)=key%13。
     由除余法的散列函数计算出的上述关键字序列的散列地址为(0,10,2,12,5,2,3,12,6,12)。
     前5个关键字插入时,其相应的地址均为开放地址,故将它们直接插入T[0],T[10),T[2],T[12]和T[5]中。
     当插入第6个关键字15时,其散列地址2(即h(15)=15%13=2)已被关键字41(15和41互为同义词)占用。故探查h1=(2+1)%13=3,此地址开放,所以将15放入T[3]中。
     当插入第7个关键字68时,其散列地址3已被非同义词15先占用,故将其插入到T[4]中。
     当插入第8个关键字12时,散列地址12已被同义词38占用,故探查hl=(12+1)%13=0,而T[0]亦被26占用,再探查h2=(12+2)%13=1,此地址开放,可将12插入其中。
     类似地,第9个关键字06直接插入T[6]中;而最后一个关键字51插人时,因探查的地址12,0,1,…,6均非空,故51插入T[7]中。

原文:http://hi.baidu.com/jiang_yy_jiang/blog/item/931d763ed8edc8f2838b13c3.html


关于Unix系统中进程间通信


名称说明范围用途文件在典型的 UNIX 文件中读写数据。任意数量的进程都可以互操作。本地共享大数据集管道使用专用的文件描述符在两个进程之间传输数据。通信只在父进程和子进程之间进行。本地简单的数据共享,比如生产者和消费者命名管道通过专用的文件描述符在进程之间交换数据。通信可以在同一主机上的任意两个对等进程之间进行。本地生产者和消费者或命令-控制,比如 MySQL 和它的命令行查询工具信号通过中断通知应用程序某一情况。本地无法在信号中传输数据,所以信号主要用于进程管理共享内存通过在同一内存段中读写数据共享信息。本地任何类型的协作,尤其适合需要安全性的情况套接字完成特殊的设置过程之后,使用一般的输入/输出操作传输数据。本地或远程FTP、ssh 和 Apache Web Server 等网络服务

正如前面提到的,每种技术满足不同的需求。假设多个进程之间的协作的复杂性大体相当,每种方法的优点和缺点如下:

  • 通过一般的 UNIX 文件共享数据很简单,因为它使用大家熟悉的文件操作。但是,通过文件系统共享数据很慢,因为磁盘输入和输出操作的效率远远比不上内存。另外,只通过文件读写数据很难协调。最后,在文件中保存敏感数据是不安全的,因为根用户和拥有特权的其他用户可以访问这些信息。对于只读或只写的数据,适合使用文件。
  • 管道和命名管道也很简单。它们在连接的两端使用两个标准的文件描述符 — 一个只执行读操作,另一个只执行写操作。但是,管道只能在父进程和子进程之间使用,不能在任意两个进程之间使用。命名管道克服了这个缺点,是在同一系统上交换数据的好方法。但是,管道和命名管道都不提供随机访问,因为它们都作为先入先出 (FIFO) 设备。
  • 信号无法在进程之间传输数据。一般情况下,信号应该只用于在进程之间通知异常情况。
  • 共享内存适合比较大的数据集,因为它使用内存,支持快速的随机访问。共享内存的实现有点儿复杂,尽管如此,对于多个进程之间的主机 协作,共享内存是不错的方法。
  • 套接字的功能与命名管道很相似,但是可以跨主机。本地套接字 (也称为 UNIX 套接字)只能进行本地(同一主机上的)连接。Inet 和 Inet6 套接字分别使用 IPv4 和 IPv6 协议,它们接受远程连接(也可以通过本地机器的 Internet 寻址机制接受本地连接)。网络应用程序显然应该选择套接字,比如分布式处理或 web 浏览器。所需的代码比命名管道复杂一点儿,但是模式是固定的,在任何 UNIX 网络编程书中都有介绍。

现在不考虑主机 应用程序通信,看看如何通过共享内存在同一主机上进行进程间通信。

详见:http://www.ibm.com/developerworks/cn/aix/library/au-spunix_sharedmemory/

线程同步?

通常用到的一些线程同步方法包括:Event, Mutex, 信号量Semaphore, 临界区资源等

XML的两种常用解析方法?

DOM,SAX。还有另一种选择,即 XML 编组库形式的解析,如 Castor

详见:http://www.ibm.com/developerworks/cn/xml/x-wxxm38.html

IT地址的划分?什么是A类地址,B类地址,C类地址……

IP地址分为五类,A类保留给政府机构,B类分配给中等规模的公司,C类分配给任何需要的人,D类用于组播,E类用于实验,各类可容纳的地址数目不同。
A、B、C三类IP地址的特征:当将IP地址写成二进制形式时,A类地址的第一位总是0,B类地址的前两位总是10,C类地址的前三位总是110。

A类地址

(1)A类地址第1字节为网络地址,其它3个字节为主机地址。它的第1个字节的第一位固定为0.
(2)A类地址范围:1.0.0.1---126.255.255.254
(3)A类地址中的私有地址和保留地址:
① 10.X.X.X是私有地址(所谓的私有地址就是在互联网上不使用,而被用在局域网络中的地址)。
范围(10.0.0.1---10.255.255.254)
② 127.X.X.X是保留地址,用做循环测试用的。

B类地址

(1) B类地址第1字节和第2字节为网络地址,其它2个字节为主机地址。它的第1个字节的前两位固定为10.
(2) B类地址范围:128.0.0.1---191.255.255.254。
(3) B类地址的私有地址和保留地址
① 172.16.0.0---172.31.255.254是私有地址
② 169.254.X.X是保留地址。如果你的IP地址是自动获取IP地址,而你在网络上又没有找到可用的DHCP服务器。就会得到其中一个IP。
191.255.255.255是广播地址,不能分配。

C类地址

(1)C类地址第1字节、第2字节和第3个字节为网络地址,第4个字节为主机地址。另外第1个字节的前三位固定为110。
(2)C类地址范围:192.0.0.1---223.255.255.254。
(3) C类地址中的私有地址:
192.168.X.X是私有地址。(192.168.0.1---192.168.255.255)

D类地址

(1) D类地址不分网络地址和主机地址,它的第1个字节的前四位固定为1110。
(2) D类地址范围:224.0.0.1---239.255.255.254

E类地址

(1) E类地址不分网络地址和主机地址,它的第1个字节的前四位固定为1111。
(2) E类地址范围:240.0.0.1---255.255.255.254
IP地址如果只使用ABCDE类来划分,会造成大量的浪费:一个有500台主机的网络,无法使用C类地址。但如果使用一个B类地址,6万多个主机地址只有500个被使用,造成IP地址的大量浪费。因此,IP地址还支持VLSM技术,可以在ABC类网络的基础上,进一步划分子网。
无类地址
除ABCDE以外的IP地址段划分方式,如:192.168.1.0 255.255.255.252等分成C段划分的地址
详见:http://baike.baidu.com/view/8370.htm?fromTaglist

操作系统同步机制遵循的原则

1,空闲让进
2,忙则等待
3,有限等待
4,让权等待

原创粉丝点击