[Linux]RHEL 5.7-i386+Oracle11gR2安装教程

老师说要用这个东西,查了两天资料,下了4、5个系统镜像和下了好几个版本的jdk(最后证明版本不同没啥关系,都一样用),『走了将近20块钱网费』,终于弄好了,为了让大家少走弯路,整理编写了本教程出来,需要的软件下载连接也都有了。——我的话

[说明:因为有的步骤忘记截图,截图借用了我参考的教程里面的图片]

0x00事先准备

*RHEL5.7 镜像(点击下载)[本教程所用,翻出去搜到的,百度了半天都没有镜像]

*Oracle 11gR2 X86 Linux (点击下载,找到小标题11.2.0.1.0 Linux x86),两个文件,解压得到database文件夹

*虚拟机

windows推荐vmware workstation 12 pro(点击下载)

mac推荐vmware fusion 8(点击下载)

以上两个虚拟机我都亲测过可以完美破解

0x01注意事项

*RHEL 并不是免费软件,安装时候会提示你输入安装码,不用管,选第二个选项跳过。配置阶段有一个官方更新,选不需要,否则会强制注册。

*RHEL 默认开启了SELinux(NSA做的一个安全子系统),不用深究这玩意干嘛的,反正这玩意的默认配置会阻断Oracle的启动,所以给他『关上』,就得了,一了百了。

*数据库安装、运行操作,都要用oracle用户

***很重要,3颗星,RHEL默认除了root用户都没有sudo权限。

需要以下步骤:

进入root用户

su - root

- 阅读剩余部分 -

[OS]生产者消费者解题分析及相关思考题

一、PV原语与生产者消费者
1965年,荷兰学者Edsger Dijkstra提出的信号量(Semaphores)机制是一种卓有成效的进程同步工具,在长期广泛的应用中,信号量机制得到了极大的发展,它从整型信号量经记录型信号量,进而发展成为“信号量集机制”,现在信号量机制已经被广泛的应用到单处理机和多处理机系统以及计算机网络中。[百度百科]

主要是为了解决加锁机制带来的高开销问题,因为加锁的话等待程序采用轮训的方法大大提高了系统开销。另外信号量做题时有两种作用,1、互斥开关,相当于锁,一般是二值信号量,1为可用,0为不可用。2、计数器,一般用于计算可用资源数量,比如经典的空盒子数量,一般初值设为0或者n[我的理解]

二、解题思路:先设3个基础信号量,缓冲区是否为空信号量empty,缓冲区是否为满信号量full,临界区互斥信号量mutex。

1、第一对:

生产者:
while(TRUE){
生产产品;
P(empty);//有空的才能存
插入缓冲区;
V(full);//装一个满一个
}

消费者:
while(TRUE){
P(full);//有就取,没有就不取
取产品;
P(empty);//取一个空一个
消费;
}

- 阅读剩余部分 -