unix概述

原创 2004年07月17日 09:59:00

UNIX进程的内部结构

  UNIX 操作系统的中心是所谓的内核(kernel),内核负责实现所有硬件设备,如磁盘ram和cpu与unix进程之间的接口.

通过对unix系统进行系统调用实现了用户进程和os之间的通信,这些系统调用包括open(),read(),write(),exec(),malloc等基本unix操作,unix内核截取了这些系统调用,就会按特定的规则进行处理.

read(),write()对磁盘进行操作

fork() 是产生新任务,即新进程

malloc() 操作ram内存

UNIX缓冲区高速缓存

正如oracle在ram中具有数据高速缓存一样,unix也使用了一个ram缓冲区,使不必要的i/o操作最小化,这个缓冲区通常称为JFS(日志文件系统)缓冲区,当oracle请求获得数据块时,oracle首先会检查data buffer catch,如果没有找到就检查unix jfs缓冲区,如果数据也没有找到的话那么检查磁盘阵列缓冲区(disk array buffer)只有当这些缓冲区中也不包含数据块时才进行物理磁盘读操作.

UNIX内存管理

unix 操作系统拥有虚拟内存(virual memory),在虚拟内存设置中,可以使用特殊的交换磁盘区,

(swap disk area)以扩大现存的ram存储器.

虚拟内存是一种策略:该策略依赖于这样一个事实:并不是每个执行的任务都要经常访问其ram存储区域,因为所有ram区域并不是经常处于使用状态,所以unix已经开发了一种页面调度算法,当下一刻不需要ram内存时,该算法能将ram内存移动到交换磁盘.

当内存区域建立时,unix将不拒绝ram请求已超过ram现有数量的新任务,更确切的说,unix将最近最少使用的ram内存页交给交换磁盘,以便为新来的请求让出空间,当超过ram的物理限制时,unix能清除ram区域,因为这些区域已经被写人交换磁盘.

当要为交换而清除ram区域时,任何原始程序引起的对内存的后续访问都要求unix拷贝在ram中的内存页,以便使这些内存页仍可访问,操作中的unix页面请求需要调用磁盘i/o,并且这是执行缓慢的一个根源,因此对于一个dba来说,避免操作中的unix页面请求至关重要.

1.交换出(page out)操作

预计有额外的ram内存区域请求时,unix通常交换ram页,ram的异步写操作通常是对标记为可交换的所有的内存区域进行的,总之,交换出操作并不能使ram内存区域从ram中物理移出,它只是一种暂时的状态,当unix决定将区域从ram中移走时,已经将ram中的内存copy到磁盘.

2.交换入(page in)操作

因为已经确定unix实际上不从ram中删除区域,所以交换出操作并不能引起关注,然而,当unix执行交换入操作时调用磁盘i/o,当unix从交换磁盘中取回区域并将其重新装入ram区域时,请求任务要等待很长的时间(数毫秒)

因此,对于oracle任务来说,ram交换入操作是一件不愿发生的事情,oracle dba必须经常监视交换入操作并采取适当的措施.

减少交换入的几种方法

为unix服务器增加额外的ram

通过减少数据库缓冲的尺寸来缩小数据库的sga大小

将关键区域sga标记为不可交换的空间

 

 

 

 

 

 

 

 

 

 

 

UNIX再学习 -- 文件描述符

在 UNIX/Linux 系统中,一切皆文件,这句话想必都有听过。对于文件的操作几乎适用于所有的设备,这也就看出了文件操作的重要性了。在C语言再学习部分有讲过标准I/O文件操作,参看:C语言再学习 -...
  • qq_29350001
  • qq_29350001
  • 2017年03月23日 10:07
  • 3047

unix文件描述符——socket

在unix系统中,socket和普通文件一样对待,因为它可以像普通文件一样被读和写,但是它还有一些自己独特的特点,例如,文件的读写位置可以设置,但是socket只能被顺序的读写等等,那么在unix系统...
  • hjx_1000
  • hjx_1000
  • 2016年07月16日 13:12
  • 3165

《unix网络编程》(7)socket概述

socket 什么是socket         socket可以看成是用户进程与内核网络协议栈的接口(编程接口, 如下图所示),其不仅可以用于本机进程间通信,可以用于网络上不同主机的进程间通信,甚...
  • u013074465
  • u013074465
  • 2015年04月01日 10:42
  • 1226

linux—unix课件\第一讲 操作系统概述.ppt

  • 2011年10月04日 15:26
  • 506KB
  • 下载

Unix脚本编程快速入门和概述.pdf

  • 2012年06月04日 09:56
  • 324KB
  • 下载

Unix讲义(包括基本概述,基本操作等)

  • 2011年08月09日 19:20
  • 146KB
  • 下载

<深入理解Linux内核>--Linux源码步步为营 Unix内核概述

源代码的获取: Linux操作系统是完全开源的,只要下载就可以进行学习, 源码下载地址:www.kernel.org 源码阅读工具为:source inlight 软件。 一些发布版本,Linux源代...
  • U201017971
  • U201017971
  • 2016年03月01日 21:15
  • 559

《unix高级环境编程》信号——信号基本概述

信号基本概念 信号是在软件层次上对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。信号是异步的,一个进程不必通过任何操作来等待信号的到达,事实上,进程也不知...
  • chenhanzhun
  • chenhanzhun
  • 2014年11月08日 20:52
  • 998

CST,CET,UTC,GMT,DST,Unix时间戳几种常见时间概述与关系

原文地址:http://blog.csdn.net/kongjiea/article/details/44061117 1、UTC:  Universal Time Coordinated...
  • tanga842428
  • tanga842428
  • 2017年02月05日 11:13
  • 496

UNIX SOCKET编程概述

1 . Layered Model of Networking Socket 编程的层次模型如下图所示, 最上面是应用层,应用层下面的是 SOCKET API 层,再下面是...
  • fzubbsc
  • fzubbsc
  • 2015年04月14日 11:13
  • 293
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:unix概述
举报原因:
原因补充:

(最多只允许输入30个字)