- 浏览: 369609 次
- 性别:
- 来自: 中国山东
文章分类
最新评论
-
ChinaEstone:
再举一个例子:RunnableImpl impl = new ...
这段代码执行任务时启动了几个线程? -
ChinaEstone:
只有一个timer的线程,以前理解的时候任务runable接口 ...
这段代码执行任务时启动了几个线程? -
nocb:
你好,请问有没有 darkstar的 ios android ...
SGS 0.9.7 协议解析 -
diyunpeng:
这个我得学习一下。
Linux下vi的用法 -
tantan:
mina 多并发实时传输,
只能建立一个连接传输,如何解决呢
...
深入理解Apache Mina (1)---- Mina的几个类
[准备工作]
1. 一台 x86_64 兼容的服务器或工作站, 只有 x86 平台的话可用 qemu 配 x86_64 虚拟机;
2. 64 位 Linux 系统, 推荐采用经过测试的版本 (Debian 或 Ubuntu);
3. opengenera2.tar.bz2 和 snap4.tar.gz 这两个安装文件.
[理论]
1. Virtual Lisp Machine(VLM) 运行环境由三部分组成:
启动程序是操作系统接口, 负责 lisp machine 指令到 alpha 指令的转换, 并加载映像文件;
操作系统映像文件, 包括全部 Lisp 层面的实现;
源代码以及文档(sys.sct目录);
2. 难以得到的 opengenera2.tar.bz2 实际上只提供最后一部分: 源代码以及文档.
这个压缩包里含有的其余两部分是用于 Alpha 处理器的 DEC Tru64 UNIX 环境下的, 对 x86_64 环境没有用的.
3. snap4.tar.gz 里包括三个东西:
启动程序(genera), 操作系统接口, 估计完成了从 lisp machine 指令到 x86_64 的转换.
映像文件(Genera-8-5.vlod)
调试器映像(VLM_debugger)
4. VLM 是一台虚拟机, 运行 VLM 的真实服务器称为宿主机. 虚拟机访问宿主机资源是通过网络来完成的. 对于文件来说, 使用的是 NFS. VLM 可以将宿主机的文件系统映射到 Lisp 的 SYS 逻辑路径上.
5. VLM 的系统时间是在启动时通过宿主机提供的 UNIX 时间服务以 UDP 协议获得的, 实践表明不存在千年虫.
6. VLM 的 Linux 移植版本把 IP 地址固定在 10.0.0.2 上,它在运行时建立了一个 TUN 通道,连接到宿主机 10.0.0.1 上,宿主机上的这个地址是自动创建的,无须事先修改任何网络有关的配置文件。但要确保宿主机本身不要配置任何通道网络设备。
[实践]
1. 安装宿主机上必须的一些软件, 包括 INETD, NFS 和 NIS:
# aptitude install openbsd-inetd nfs-user-server nis
注意, 安装 NIS 时系统会提示输入 NIS 服务器所在的网络域, 默认值是当前 Linux 主机所在的 DNS 域, 建议接受这一默认值.
1.1. INETD 为 VLM 提供时间服务, 它的配置文件 /etc/inetd.conf 里要包括下列 4 行:
daytime stream tcp nowait root internal
daytime dgram udp wait root internal
time stream tcp nowait root internal
time dgram udp wait root internal
然后重启 inetd:
# /etc/init.d/openbsd-inetd restart
Restarting internet superserver: inetd.
1.2. NFS 的配置方法是在 /etc/exports 里加入下列一行:
/ 10.0.0.2(rw,no_root_squash)
然后重启 NFS:
# /etc/init.d/nfs-user-server restart
Stopping NFS servers: mountd nfsd.
Starting NFS servers: nfsd mountd.
NFS 的正确访问还需要在宿主机上建立一个 lispm 组和 lispm 用户:
# groupadd -g 4294967294 lispm
# useradd -g lispm -u 4294967294 -s /bin/false -d /tmp lispm
上述用户和组在 /etc/passwd 以及 /etc/group 里是这个样子的:
lispm:!:4294967294:4294967294::/tmp:/bin/false
lispm:!:4294967294:
1.3. NIS 提供的配置文件在 /etc/default/nis 里, 主要修改的内容如下:
NISSERVER=master
NISCLIENT=false
然后重启 nis:
# /etc/init.d/nis restart
Starting NIS services: ypserv yppasswdd ypxfrd ypbind.
NIS 服务所需的数据使用下列方法生成:
1.3.1. 修改系统密码加密方式, 取消 md5 特性. 方法是修改 /etc/pam.d/common-password, 把
password required pam_unix.so nullok obscure min=4 max=8 md5
改为
password required pam_unix.so nullok obscure min=4 max=8 # md5
这相当于把 md5 部分注释掉了.
1.3.2. 将 shadow 密码转换为传统密码, 这样会降低密码安全性, 但这是 nis 所要求的, 没有办法:
# pwunconv
# grpunconv
这两个命令的精确含义可以通过 man 查询到:
pwunconv creates passwd from passwd and shadow and then removes shadow.
grpunconv creates group from group and gshadow and then removes gshadow.
1.3.3. 进入 /var/yp 目录, 执行 make:
ddb-3:/var/yp# make
make[1]: Entering directory `/var/yp/lab.163.org'
Updating passwd.byname...
Updating passwd.byuid...
Updating group.byname...
Updating group.bygid...
Updating hosts.byname...
Updating hosts.byaddr...
Updating rpc.byname...
Updating rpc.bynumber...
Updating services.byname...
Updating services.byservicename...
Updating netid.byname...
Updating protocols.bynumber...
Updating protocols.byname...
Updating netgroup...
Updating netgroup.byhost...
Updating netgroup.byuser...
make[1]: Leaving directory `/var/yp/lab.163.org'
2. 安装 VLM 所需文件
在主目录里, 解压两个安装文件: (以下假设我的主目录是 /home/binghe, 这个假设会多次用到)
$ tar xvjf opengenera2.tar.bz2
$ tar xvzf snap4.tar.gz
解压 opengenera2.tar.bz2 能得到一个 og2 目录, 对我们来说, 唯一需要的是 og2/sys.sct 目录.
解压 snap4.tar.gz 能得到 snap4 目录, 内容如下:
-rw-r--r-- 1 binghe staff 733 2006-08-08 dot.VLM
-rwxr-xr-x 1 binghe staff 1533760 2006-08-08 genera
-rw-r--r-- 1 binghe staff 54804480 2006-08-08 Genera-8-5.vlod
-rw-r--r-- 1 binghe staff 2902 2006-08-08 README
-rw-r--r-- 1 binghe staff 934 2006-08-08 .VLM
-rw-r--r-- 1 binghe staff 346880 2006-08-08 VLM_debugger
唯一的配置文件是 .VLM 文件, 确保它的内容是这样的:
genera.network: 10.0.0.2;mask=255.255.255.0; gateway=10.0.0.1
genera.virtualMemory: 2048
genera.world: Genera-8-5.vlod
genera.debugger: VLM_debugger
genera.coldLoad.geometry: 800x600
由于 genera 需要打开一个 TUN/TAP 网络设备, 普通用户没有这个权限, 所以 VLM 必须以 root 权限启动, 一个比较好的方法是使用 sudo, 给当前用户设置一个 sudo 的特权. 方法是安装 sudo:
# aptitude install sudo
然后用 visudo 命令修改 sudo 的配置文件, 加上下面一行: (我当前的用户是 binghe, 读者请自行调整配置文件里的用户名部分)
binghe ALL=NOPASSWD: ALL
最后, 如果一切顺利的话, 在 snap4 目录里执行 sudo ./genera 就可以看到 Open Genera 窗口了. 需要注意的是 Lisp Machine 的窗口尺寸非常大,在我的桌面环境下,加上 Linux 自身的窗口边框以后,尺寸达到了 1512x976,幸好我的显示器是 1680x1050 的……
还有一种可能, 那就是这台 64 位机, 并不是工作站, 而是一台远程的服务器. 这种情况下只需通过 SSH 登录时打开 X 转发选项 (ssh 加 -X 参数), 同时确保从一个运行了 X Server 的客户机登录过去就可以了 (所有的 Linux 桌面环境都满足条件, Windows 的话难度较大, 需要安装 Cygwin 并启动 X Server 才行)
启动 Open Genera 窗口以后还需要大量配置工作才能得到一个可用的 Lisp Machine 环境, 这部分内容请看下一篇文章.
发表评论
-
Linux Shell将逗号分隔的字符串转成换行
2016-08-19 15:23 2467OLD_IFS="$IFS" IFS= ... -
如何避免git每次提交都输入密码
2014-08-07 13:12 1594vim /home/chinaestone/.git-cre ... -
再谈编译安装php/apache/mysql
2011-02-24 19:37 1976今天同事在centos上安装php、apache、mysql时 ... -
Linux中开启mysql远程访问功能
2009-10-10 19:01 4303为了给服务器一个真实的运行环境,今天在内网中部署了一台Ubun ... -
如何关闭自动更新
2008-12-02 22:48 1066默认情况下,每次启动fedora都会启动yum-update服 ... -
yum详解
2008-12-02 22:48 1175使用redhat,fedora的linuxer肯定都为rpm著 ... -
Fedora7配置简介
2008-12-02 22:47 11781.显卡驱动(A卡)livna的显卡驱动已更新为8.42.3, ... -
shell 病毒简介
2008-12-02 22:46 10651. 前言 说起病毒 ... -
Perl简介
2008-12-02 22:45 1505Perl简介Perl最初只是Unix系统管理员的一个工具,在工 ... -
vm虚拟机怎么打开u盘
2008-12-02 22:17 4008需要操作VMWARE: 菜单:虚拟机/可移动设备 ... -
Linux快速入门命令篇
2008-12-02 22:13 1123Linux入门命令篇(简训)目标:[通过此练习能对linux基 ... -
linux分区及安装
2008-12-02 22:12 1454个人学习,建议硬盘分出10g来,完全安装也够用了就,分区也不用 ... -
深入理解硬盘的Linux分区
2008-12-02 22:11 878在学习Linux的过程中,安装Linux是每一个初学者的第一个 ... -
关于linux分区的问题
2008-12-02 22:10 7881 Linux目录和分区无关,就像Win的路径以一个盘 ... -
redhat linux,怎样才能从窗口界面切换到纯字符界面?
2008-12-02 22:10 29341.进入字符界面 为了在Linux启动时直接进入Con ... -
Linux的sendmail设置
2008-12-02 22:09 1962我们在启动sendmail之前会把/etc/mail/send ... -
Linux下停止SendMail进程
2008-12-02 22:09 893不知道怎么搞的 刚刚装好的VM下的LINUX启动到sendma ... -
linux的版本问题
2008-12-02 22:08 1049我想知道linux中的i386,ia64,x86_64三个有什 ... -
完全用Linux工作,摈弃Windows
2008-12-02 22:07 807我已经半年没有使用 Windows 的方式工作了。Li ... -
为什么要反对使用 Windows
2008-12-02 22:06 882为什么要反对使用 Window ...
相关推荐
### VLM(基于Linux磁盘容量修改):深入解析与实践指南 在现代数据中心和企业环境中,磁盘容量管理是一项至关重要的任务,特别是在资源需求不断变化的场景下。本文将详细探讨如何在Red Hat Enterprise Linux (RHEL) ...
日内相对交易量 Voltest (VLM)指标
更值得关注的是,RedFlagDCServer4.0的核心支持在32位Intel平台上分配超过4GB内存的数据库缓存,即VLM特性,理论上可将SGA扩大至62GB,极大地突破了传统限制,满足了企业级应用对海量数据缓存的需求。 ##### 可靠性...
用VLM编制了二维机翼的升力计算,与课本上的算例一致
1. "vlm.dat":这可能是一个数据文件,包含了飞行器的几何参数、飞行条件等初始输入数据,供程序读取和处理。 2. "VLMpcv2.f":这是Fortran源代码文件,很可能就是描述中的低速飞行器设计程序的核心部分。用户可以...
用户需要解压缩文件后,在MATLAB环境中运行该脚本,并可能需要根据自己的飞机几何数据进行相应的参数调整。 通过VLM计算,工程师可以了解飞机在飞行过程中如何与空气相互作用,从而优化设计,提高燃油效率,增强...
【Linux与Oracle内核与内存技术】 在x86-32位体系结构中,Linux与Oracle数据库的结合面临着...通过理解这些技术细节,系统管理员和DBA可以更有效地配置和优化Oracle在Linux环境下的运行,以充分发挥硬件资源的优势。
计算机网络期末复习机器人手臂+大型模型+多模式=人机协作体现智能代理-vlm'arm.zip机器人手臂+大型模型+多模式=人机协作体现智能代理-vlm'arm.zip机器人手臂+大型模型+多模式=人机协作体现智能代理-vlm'arm.zip...
本文旨在解决这些问题,并探讨如何在 Linux VM 平台上可靠地运行 Oracle 软件,重点是 SGA(共享全局区)的扩展。 #### 引言 为了实现 IA-32 架构上超过 4GB 的虚拟内存容量,必须对 Linux 的虚拟内存管理机制进行...
1. **vlm (VLC Media Manager)**:负责管理和控制媒体播放,包括播放、停止、循环等操作,还可以进行流输出和广播。 2. **libvlc**:VLC的主库,提供了播放、控制和解码等功能的API,供开发者调用。 3. **解码器和...
propeller design with lifting line theory
“大模型”在3小时内从0训练出27M参数的视觉多模态VLM-minind-v
探索微软新VLM Phi-3 Vision模型:详细分析与代码示例
显然,它并不是严格意义上的Lisp机器,因为它显然是软件程序,而不是物理计算机,但是随着这条线的逐渐模糊,对于Emacs来说它似乎是一个有用的称呼,因为Emacs ,它越来越像OS 。免责声明我不建议任何人直接安装或...
在IT行业中,设计模式是一种被广泛采用的最佳实践,它代表了在特定情境下解决软件设计问题的经验总结。"Patron_Factory_VLM"这个项目很可能是一个关于Java编程中的工厂模式实现示例,其中"VLM"可能是“Virtual ...
该ASN.1编译器将ASN.1规范转换为C代码。 asn1c与符合要求的BER / DER / XER / PER编解码器一起发货。 X.509,GSM TAP3,MEGACO,RRC和LDAP编码和解码... 注意:asn1c项目已大量移至GITHUB:http://github.com/vlm/asn1c