[FZH] rhel系统程序后台运行的话直接变daemon么?
by xie yunpeng
最近在用rhel系统发现后台执行的程序直接变daemon,举个例子
while.sh
while [ 1 ];do
sleep 1
echo `date`
done
然后直接sh while.sh >& 1.log &就变成daemon程序了,不使用nohup和disown等方法
是rhel系统是这样,还是有的bash版本是这样?
11 years, 1 month
[FZH] 如何成为fedora的贡献者
by zqfan
各位好:
本人用fedora已经有些年了,从fedora8开始陆陆续续的一直在用,目前也是
fedora17,不过并非像专业linux下开发的人一样,对此系统很了解。
鄙人工作虽然是开发,目前负责省级片区内对开发人员进行培训和技术支持,不
过与linux完全不搭边,甚至C也只是自己在私下才玩玩。
C是我喜欢的语言,不知道有没有C语言项目需要业余贡献者,能够让我在工作之
余能够为开源事业尽一点绵薄之力。
另外,鄙人小语种,英语完全不通,日常开发问题不大,与国外友人交流神马的
就算了。
百忙之中,烦扰,致歉!~
--
zqfan <mr.zqfan(a)gmail.com>
11 years, 1 month
[FZH] 昨晚给笔记本装了Arch,蛋碎了一地
by Huapian Dong
*之*
前笔记本用的ubuntu12.04。发现所有的软件包括gnomeshell都很旧,比fedora更新慢了好几拍。比如gimp,在fedora下的新版加载画面都不一样;而gnomeshell旧版的有很多毛病:ibus图标老TM的跳,语言设置没用(常导致连锁反应,很多软件的语言设置都看系统设置。。。),emacs有时会花屏(这个好像是gtk的毛病哈)。所以我彻底打消了安装ubuntu的念头。。。
昨晚,心血来潮,想装arch。因为以前用过,发现软件版本新的不行,不过也有一些问题:如各大桌面Gnome,kde,xfce自带的u盘挂载功能没了,插上u盘,啥反映都没的,虽然知道有变通的方法,不过懒得弄;其他零零碎碎的问题暂时想不起来了,不过每个问题都要花些时间和精力去查去改,实在是令人蛋碎。不过,就算这样,对于我等稍微有点时间就要折腾一回的骚年来说,这点困难阻挡不了我。于是,用YUMI装到U盘了,开机,选择启动菜单,果然有了ArchLinux启动项,回车进去,傻眼了。。。不知道什么时候arch把图形化安装界面改成了纯手工配置安装了。#ls
一下,看到了install.txt。#less
install.txt,完全没有任何帮助。后来回到ubuntu查了网页版的Guide,才发现arch不知道从什么时候起已经“抛弃新手了”,好吧,你装b,我也没办法。继续按照guide一步一步设置,用笔记下一步一步,然后唯一带回寝室的一张纸正反面都写满了,还没抄完,要知道我还是只捡难搞的来抄的。
*这*
时,想起u盘里还有之前装的fedora17,想起fedora的简单清爽易配置,简直是老少咸宜童叟无欺居家旅行杀人越货必备之linux啊,内牛满面,果断按向了重启。。。
好吧,最后,说点有用的,经常有人问各大linux发行版的区别是什么,我用下来区别就是,
1. 仓库软件新不新,大不大,全部全,
2. 对于喜欢终端查找安装软件的人来说,还要看包管理器好不好用,其他大的区别我没发现。
ps:fedora的yum就很好用,虽然比yaourt(pacman)差一点。而fedora的软件是很新的,虽然没arch新,但比ubuntu新很多。
ps again:本来准备吐槽一两句就算了,没想到文笔太差收不住,各位见谅!!! 稍微调整了一下文字,方便观看。不过尼玛为什么没有调整行间距的功能。。。
11 years, 1 month
[FZH] What is a kernel?
by microcai
Linus 说, Kernel is a collections of code to help run user program.
That's not ture.
开发过嵌入式的童鞋都知道,编译器提供的C库就已经能做到了。并不需要一个操作系统。如果嵌入式程序需要文件系统,在C库里有何尝不能实现呢?
我仅认为,kernel is a trusted library to share hardware.
内核就是用来共享硬件的,我谨认为,内核就是一个 multiplexer.
进程: 是用来共享主存储器的。内核是 RAM 的 multiplexer.
线程: 是用来共享CPU的。内核是 CPU 的 multiplexer.
socket:是用来共享网卡的。内核是 网卡 的 multiplexer.
文件系统:是用来共享外部存储器的。内核是 disks/blockdevice 的 multiplexer.
.
.
.
.
.
.
需要在内核里实现的功能,必定是需要内核去 multiplex 的。而不需要 multiplex 的功能,必须是不用在内核里实现的。
例1:
打印机驱动,从来没有哪个系统是在内核实现的。
Windows下,打印机驱动是 GDI 调用到 PCL(Printer Control Language)的解释器,是在非内核实现的。
UNIX/Linux下,打印机驱动是 PS -> PCL 的翻译器。顾名称为 cups-filter .
最终,PCL命令才需要内核的 USB驱动(或者并口etc)将命令发送给打印机。而 CUPS 利用了 libusb 连这点都不需要内核操心了。
例2:
拨号连接。
拨号连接是在用户层( pppd )实现的。内核创建一个 ppp0 ( ppp? 设备) 虚拟设备,然后内部的 socket 代码就
multplex 这个设备为别的程序提供网络功能。 ppp0 设备是个虚拟设备,其数据最终全部转给了 pppd , 由 pppd 实现和
“猫” 的通信。
但是 。。。。。。。
以上都是我的铺垫。因为我最终要讲的东西是:
尼玛图形界面啥时候能在内核实现?!
图形界面分成3个子系统:
窗口管理
窗口内容渲染
字体管理和文字渲染
字体管理是字体的 multplex , 但是文件系统已经为我们做到了multplex字体文件,所以在用户空间实现没什么问题。
文字的渲染归根结底还是属于渲染功能。
硬件加速的渲染(现在谁还想用 CPU纯软件渲染啊)是 GPU 的 multiplex .
窗口是 “屏幕空间” 的 multiplex,窗口伴随者键盘鼠标设备,这是输入设备的 multiplex .
这样 3 个 multiplex 就需要实现:
GPU multiplex
Screan Space Multiplex
HID multiplex (不是啥输入设备都行的,是要 Human Input Device,人体输入设备)
这3样东西的 multiplex , 尼玛为何不是在内核做的?!
为何?!?
要搞个 Xserver !!!!
要搞个 Xserver !!!!
要搞个 Xserver !!!!
要搞个 Xserver !!!!
要搞个 Xserver !!!!
绝对是内核偷懒 绝对是内核偷懒 绝对是内核偷懒。。。。。。
尼玛差点忘记,声卡也是要 multiplex 的,尼玛从古时候的 OSS 到进化的ALSA
现在都没支持内核混音!!!!还得靠学Xserver的 pulseaudio 来混音。
有内核混音的 OSSv4 尼玛就是不肯合并。有木有有木有有木有!
11 years, 1 month