Friday, October 29, 2004
[SME]One box to secure them all?
One box to secure them all?
By Isabelle Chan, CNETAsia
26/10/2004
It doesn't matter if you're a big-name bank like Citibank or a small business startup. You are just as susceptible to virus and worm attacks.
But particularly for small and medium-size businesses (SMBs), combating these risks is a bigger challenge since they lack the technical expertise and financial budgets.
"Typically, it's very rare to find IT security expertise in SMBs given that many do not even have an IT department, while some outsource the IT function or delegate day-to-day administration to a non-technical staff who takes it on top of his or her job scope," says Ang Ah Sin, Trend Micro's regional marketing manager for Asia South.
Several security vendors today offer "all-in-one" hardware and software products, which typically comprise features such as firewall, intrusion detection systems (IDS), VPN and antivirus protection. These integrated single-box software suites or security appliances are said to offer enterprise-class capabilities but are yet simple to deploy and manage.
Compared to integrated products, purpose-built boxes "may be too complex and expensive to be practical for SMBs", Ang says. The value proposition of single-box offerings is, therefore, attractive because SMBS now deal with a single supplier instead of multiple vendors or integrators.
Lawrence Loh, senior regional product marketing manager for Symantec's Gateway Security Solutions, agrees, citing ease of use as one reason to buy a multi-function product. Small businesses, he says, save time as they do not have to worry about managing different vendors' products when they install an integrated appliance designed for simple setup and low maintenance.
"Consolidated protection, convenience and cost are clearly the key advantages of deploying single-box solutions."
Lawrence Loh,
senior regional product
marketing manager,
Symantec Gateway Security Solutions
"Consolidated protection, convenience and cost are clearly the key advantages of deploying single-box solutions," he notes.
But do such products offer simplicity at the expense of flexibility?
Charles Cousins, the managing director for Sophos Anti-Virus Asia, thinks so. "It's a good place to get started if an SMB has no solution, but later they will probably want to have a more flexible solution.
"Over time, the SMB will start to face more demands from internal users, the volumes will increase, and there could be problems with upgrading and scalability," he adds.
Ang agrees that upgrading can be a challenge since components in the box are usually fixed. "Unless the appliance is upgradeable, any future expansion can render the appliance obsolete. Upgradeable single-box security software that offers comprehensive protection is preferred since it does not have such limitations. This is provided that the complexity of installation, configuration and maintenance have been removed and taken care of by the software," he says.
Symantec's Loh emphasized that upgrading concerns are addressed in the company's LiveUpdate feature. "Our appliances all use LiveUpdate which enables updates for the products to be sent through without any disruption. There is no difficulty in upgrading only parts of the product as LiveUpdate can upgrade the parts separately," he claims.
Another issue is the fear of a single point of failure. "With a box that does everything, when the power supply fails, everything stops, and the office is 'off the air'," Cousins notes.
Weigh the pros and cons
Like with all security technologies, the advantages and trade-offs must be carefully considered and mapped against the functionality, performance and business requirements.
Lim Ai Ling, McAfee's marketing manager for Southeast Asia and India, says SMBs should be concerned with functionality and performance, and suggests that SMBs ask questions like: Would a multi-function box slow down the network traffic flow? Will it be 'jack of all trades but specialist of none'?
While cost may be a concern when deploying many point solutions throughout the network, Lim adds that SMBs should not forget to consider the ease of managing these solutions and the need for a multi-layered and in-depth protection for critical PCs, servers and the entire network.
How to budget
A recent survey conducted by the Singapore Chinese Chamber of Commerce & Industry (SCCCI) found that 50 percent of SMBs surveyed spend less than 2 percent of their revenues on IT. "For companies that depend on IT, security should one of the top prioritized costs of doing business and it is recommended that up to 5 percent be set aside," says Trend Micro's Ang.
"For companies that depend on IT, security should one of the top prioritized costs of doing business and it is recommended that up to 5 percent be set aside."
Ang Ah Sin
regional marketing manager
Trend Micro Asia South.
However, as each company is different, how much to budget depends on the number of computers, servers, complexity of the network infrastructure, as well as the type of digital assets that the company wants to protect, he adds.
An SMB suite such as Trend Micro Client/Server Suite, which protects desktops and servers, costs about S$60 (US$36) per license based on a 50-user network. "But the cost per license will decrease in relation to the size of the network setup," he adds.
Ang outlines several buying criteria for security. First, the software must be supported round-the-clock, 365 days a year by a world-recognized virus research laboratory that is able to dispatch timely updates whenever a virus is on the loose.
Second, the security software must be designed specifically for an SMB and not a re-packaged bundle of several individual security software or module from existing enterprise series. "Many security offerings are in fact scaled-down enterprise solutions that treat smaller business as enterprises with fewer seats," he says.
Third, make sure the product is easy to install, configure and maintain, so that minimal IT security knowledge is required.
Fourth, the product should be compatible with other existing software in the computing environment as well as the latest operating system or application patches.
Fifth, look for a product that offers a centralized management system with reporting features. And don't forget automatic and transparent distribution of updates to every PC and/or server on the network, says Ang.
Keeping these criteria in mind, Ang adds, SMBs should weigh the pros and cons of deploying a single-box offering versus point solutions and pick one that is most suitable to their needs.
By Isabelle Chan, CNETAsia
26/10/2004
It doesn't matter if you're a big-name bank like Citibank or a small business startup. You are just as susceptible to virus and worm attacks.
But particularly for small and medium-size businesses (SMBs), combating these risks is a bigger challenge since they lack the technical expertise and financial budgets.
"Typically, it's very rare to find IT security expertise in SMBs given that many do not even have an IT department, while some outsource the IT function or delegate day-to-day administration to a non-technical staff who takes it on top of his or her job scope," says Ang Ah Sin, Trend Micro's regional marketing manager for Asia South.
Several security vendors today offer "all-in-one" hardware and software products, which typically comprise features such as firewall, intrusion detection systems (IDS), VPN and antivirus protection. These integrated single-box software suites or security appliances are said to offer enterprise-class capabilities but are yet simple to deploy and manage.
Compared to integrated products, purpose-built boxes "may be too complex and expensive to be practical for SMBs", Ang says. The value proposition of single-box offerings is, therefore, attractive because SMBS now deal with a single supplier instead of multiple vendors or integrators.
Lawrence Loh, senior regional product marketing manager for Symantec's Gateway Security Solutions, agrees, citing ease of use as one reason to buy a multi-function product. Small businesses, he says, save time as they do not have to worry about managing different vendors' products when they install an integrated appliance designed for simple setup and low maintenance.
"Consolidated protection, convenience and cost are clearly the key advantages of deploying single-box solutions."
Lawrence Loh,
senior regional product
marketing manager,
Symantec Gateway Security Solutions
"Consolidated protection, convenience and cost are clearly the key advantages of deploying single-box solutions," he notes.
But do such products offer simplicity at the expense of flexibility?
Charles Cousins, the managing director for Sophos Anti-Virus Asia, thinks so. "It's a good place to get started if an SMB has no solution, but later they will probably want to have a more flexible solution.
"Over time, the SMB will start to face more demands from internal users, the volumes will increase, and there could be problems with upgrading and scalability," he adds.
Ang agrees that upgrading can be a challenge since components in the box are usually fixed. "Unless the appliance is upgradeable, any future expansion can render the appliance obsolete. Upgradeable single-box security software that offers comprehensive protection is preferred since it does not have such limitations. This is provided that the complexity of installation, configuration and maintenance have been removed and taken care of by the software," he says.
Symantec's Loh emphasized that upgrading concerns are addressed in the company's LiveUpdate feature. "Our appliances all use LiveUpdate which enables updates for the products to be sent through without any disruption. There is no difficulty in upgrading only parts of the product as LiveUpdate can upgrade the parts separately," he claims.
Another issue is the fear of a single point of failure. "With a box that does everything, when the power supply fails, everything stops, and the office is 'off the air'," Cousins notes.
Weigh the pros and cons
Like with all security technologies, the advantages and trade-offs must be carefully considered and mapped against the functionality, performance and business requirements.
Lim Ai Ling, McAfee's marketing manager for Southeast Asia and India, says SMBs should be concerned with functionality and performance, and suggests that SMBs ask questions like: Would a multi-function box slow down the network traffic flow? Will it be 'jack of all trades but specialist of none'?
While cost may be a concern when deploying many point solutions throughout the network, Lim adds that SMBs should not forget to consider the ease of managing these solutions and the need for a multi-layered and in-depth protection for critical PCs, servers and the entire network.
How to budget
A recent survey conducted by the Singapore Chinese Chamber of Commerce & Industry (SCCCI) found that 50 percent of SMBs surveyed spend less than 2 percent of their revenues on IT. "For companies that depend on IT, security should one of the top prioritized costs of doing business and it is recommended that up to 5 percent be set aside," says Trend Micro's Ang.
"For companies that depend on IT, security should one of the top prioritized costs of doing business and it is recommended that up to 5 percent be set aside."
Ang Ah Sin
regional marketing manager
Trend Micro Asia South.
However, as each company is different, how much to budget depends on the number of computers, servers, complexity of the network infrastructure, as well as the type of digital assets that the company wants to protect, he adds.
An SMB suite such as Trend Micro Client/Server Suite, which protects desktops and servers, costs about S$60 (US$36) per license based on a 50-user network. "But the cost per license will decrease in relation to the size of the network setup," he adds.
Ang outlines several buying criteria for security. First, the software must be supported round-the-clock, 365 days a year by a world-recognized virus research laboratory that is able to dispatch timely updates whenever a virus is on the loose.
Second, the security software must be designed specifically for an SMB and not a re-packaged bundle of several individual security software or module from existing enterprise series. "Many security offerings are in fact scaled-down enterprise solutions that treat smaller business as enterprises with fewer seats," he says.
Third, make sure the product is easy to install, configure and maintain, so that minimal IT security knowledge is required.
Fourth, the product should be compatible with other existing software in the computing environment as well as the latest operating system or application patches.
Fifth, look for a product that offers a centralized management system with reporting features. And don't forget automatic and transparent distribution of updates to every PC and/or server on the network, says Ang.
Keeping these criteria in mind, Ang adds, SMBs should weigh the pros and cons of deploying a single-box offering versus point solutions and pick one that is most suitable to their needs.
[SME] Surviving IT outages
Surviving IT outages
By Gregory Teo, Special to CNETAsia
26/10/2004
Most small and medium-sized businesses (SMBs) don't have the resources to own or manage a secondary disaster recovery site.
Such a remote facility--called a hot site--takes over IT processes within seconds of a primary outage. It houses hardware and software that instantaneously mirror data or allow SAN (storage area network)-to-SAN data replication.
Many SMBs can only dream about such speedy recovery.
The alternatives: An SMB can either back up data daily onto tape or to an alternate site via the Internet.
Trusty tape
Tape backup is affordable, but it can also be slow and cumbersome.
For SMBs, the traditional way of unfurling data from backup tape seems ideal. But they are not big fans of this because of the tedium. According to Wong Tew Kiat, senior manager of the Business Recovery Centre at Singapore Computer Systems, most SMBs may or may not backup their data.
He added: "Those who have may still keep the backup tapes within the office, and it will still be destroyed." To prevent this, tapes should be offsite.
Recovering systems from tape--known as warm recovery--takes 12 to 24 hours to complete as the data is retrieved from tape. In addition to being much slower, "recovery of data is only up to the backup status, any data after the backup will be lost," says Wong.
Such backup tapes should be tested regularly to ensure readablility while the tape's lifespan should be monitored. Even banks practice this.
Internet backup
Internet backup is a faster data recovery tool. And it's affordable enough for volume data backup. Provided by service providers such as SurgoSystems in Singapore, the service circumvents communication, software and hardware costs to keep it affordable for SMBs.
SurgoSystems offers an Internet-based service allowing users to back up critical data and recover it anytime. It claims to provide "instant data on demand".
Typically, a disaster recovery plan for SMBs can be broken down to the individual machines to be protected. For example, it costs S$350 (US$210) per month to back up an Intel server and S$50 (US$30) for a desktop. The connection cost via ADSL may be S$20 (US$12) while the offsite drawer space is around S$150 (US$90).
Such an Internet backup service is usually more affordable than a full range of disaster recovery and business continuity planning (BCP) tools provided by the likes of IBM, HP, National Computer Systems and SCS.
Importance of data protection
SMBs should pay heed to protecting their data because if it is lost, no amount of insurance can cover the fallout from missing information in the IT systems.
Says Wong: "I don't think there is any insurance to insure against permanent destruction of data. Insurance companies are likely to compensate only for the damage of the tape and not the content." Organizations should back up their critical data daily and send it offsite for safekeeping, he adds.
Gregory Teo is a freelance journalist based in Singapore.
By Gregory Teo, Special to CNETAsia
26/10/2004
Most small and medium-sized businesses (SMBs) don't have the resources to own or manage a secondary disaster recovery site.
Such a remote facility--called a hot site--takes over IT processes within seconds of a primary outage. It houses hardware and software that instantaneously mirror data or allow SAN (storage area network)-to-SAN data replication.
Many SMBs can only dream about such speedy recovery.
The alternatives: An SMB can either back up data daily onto tape or to an alternate site via the Internet.
Trusty tape
Tape backup is affordable, but it can also be slow and cumbersome.
For SMBs, the traditional way of unfurling data from backup tape seems ideal. But they are not big fans of this because of the tedium. According to Wong Tew Kiat, senior manager of the Business Recovery Centre at Singapore Computer Systems, most SMBs may or may not backup their data.
He added: "Those who have may still keep the backup tapes within the office, and it will still be destroyed." To prevent this, tapes should be offsite.
Recovering systems from tape--known as warm recovery--takes 12 to 24 hours to complete as the data is retrieved from tape. In addition to being much slower, "recovery of data is only up to the backup status, any data after the backup will be lost," says Wong.
Such backup tapes should be tested regularly to ensure readablility while the tape's lifespan should be monitored. Even banks practice this.
Internet backup
Internet backup is a faster data recovery tool. And it's affordable enough for volume data backup. Provided by service providers such as SurgoSystems in Singapore, the service circumvents communication, software and hardware costs to keep it affordable for SMBs.
SurgoSystems offers an Internet-based service allowing users to back up critical data and recover it anytime. It claims to provide "instant data on demand".
Typically, a disaster recovery plan for SMBs can be broken down to the individual machines to be protected. For example, it costs S$350 (US$210) per month to back up an Intel server and S$50 (US$30) for a desktop. The connection cost via ADSL may be S$20 (US$12) while the offsite drawer space is around S$150 (US$90).
Such an Internet backup service is usually more affordable than a full range of disaster recovery and business continuity planning (BCP) tools provided by the likes of IBM, HP, National Computer Systems and SCS.
Importance of data protection
SMBs should pay heed to protecting their data because if it is lost, no amount of insurance can cover the fallout from missing information in the IT systems.
Says Wong: "I don't think there is any insurance to insure against permanent destruction of data. Insurance companies are likely to compensate only for the damage of the tape and not the content." Organizations should back up their critical data daily and send it offsite for safekeeping, he adds.
Gregory Teo is a freelance journalist based in Singapore.
[SME] It pays to know your software
It pays to know your software
By Jeffrey Hardee, Special to CNETAsia
26/10/2004
Companies use software for a myriad of activities--typing out documents, accessing the Internet, and managing finance--yet many fail to invest time and effort in managing their software.
Proper software management is important for several reasons.
First, poor software management can mask software piracy, an illegal activity that can impose costly consequences to the business, both from a legal and a security standpoint.
Many governments across Asia are now taking a tougher stance on copyright infringement. In many countries, willful copyright infringement can result in criminal liabilities. Many organizations don’t realize that under-licensing--where, for example, a company with only one license installs the software on five PCs-- is also a form of software piracy. This, in addition to the use of illegal software, can land businesses into hot soup with the authorities.
Illegal software also exposes an organization’s computers to malicious code and virus attacks that can destroy valuable data and bring down an entire network.
Second, software is a valuable asset that, when properly managed, can offer many business benefits, ranging from cost savings to gains in employee productivity and efficiency.
What about SAM?
In a nutshell, software asset management (SAM) is a business process that enables an organization to identify and eliminate unauthorized software, and addresses under-licensing issues. While software inventory and tracking are integral parts of SAM, so are the policies, procedures, technologies, procurement, delivery, deployment, and support of a company's software assets.
Step 1: Know what you need
As a start, each company should know exactly what software it needs. This is valuable to ensure effective and efficient purchasing and use of software.
To determine what is needed, answer these questions:
* Are you using the right software to optimize efficiency and effectiveness?
* Are staff satisfied with their current software applications?
* Are there other software programs that would enable your staff to operate more effectively and efficiently?
* Are there software programs you now have but don’t need anymore?
Step 2: Know what you have
Only by knowing what software assets the company has would it be able to determine what it needs in the future. This inventory-taking process can also root out software that is not need. Here’s a check-list of issues to look out for:
* Are you using the most recent and suitable version of programs for your needs?
* Are you using outdated or unnecessary programs?
* Are there other programs you should get to be more productive or efficient?
* Does each employee have the correct set of programs?
* Are employees properly trained to use the software?
* Do you have illegal, unauthorized or unlicensed programs?
Remember that having an original CD for the software does not mean the firm can install it on as many computers as it likes.
Items to note down in the inventory check-list include version numbers, serial numbers and product names, as well as all material related to software on the computers, such as media (floppy disks and CDs), documentation (manuals and reference materials), licenses and administrative paperwork related to the purchase of this software, such as invoices, receipts and other documents that prove the legitimacy of the software.
Step 3: Compare installed software against licenses
With the inventory in hand, take the following steps:
* Compare the software that is installed against what is allowed under the terms of the license agreements
* If you identify any illegal software, delete them immediately
* Compare the legal software with the needs of your organization as identified in step 1 This is also the time to decide which software the firm legally has that it wants to keep or upgrade, which software to discard, and then plan or budget accordingly.
Remember that having an original CD for the software does not mean the firm can install it on as many computers as it likes. Check license agreements to determine the details. Any extra copies made or installed outside the number stipulated in the license are deemed illegal.
Step 4: Make SAM a continuous process
Effective software management requires continuous supervision and periodic spot checks. Make SAM an ongoing process by doing the following:
* Appoint a software manager who is responsible for SAM
* Schedule regular audits
* Coordinate your business’ software needs with your software manager
* Issue a company policy statement outlining the organization’s commitment to use only legal, licensed software
* Conduct random checks
* Send out periodic reminders on using only legal software
By going through these four steps, the company would have taken the basic measures to ensure that it uses legal and licensed software, and more importantly, better manage and harness the software assets for greater cost savings, productivity and efficiency.
Jeffrey Hardee is the vice president and regional director for Asia with the Business Software Alliance.
By Jeffrey Hardee, Special to CNETAsia
26/10/2004
Companies use software for a myriad of activities--typing out documents, accessing the Internet, and managing finance--yet many fail to invest time and effort in managing their software.
Proper software management is important for several reasons.
First, poor software management can mask software piracy, an illegal activity that can impose costly consequences to the business, both from a legal and a security standpoint.
Many governments across Asia are now taking a tougher stance on copyright infringement. In many countries, willful copyright infringement can result in criminal liabilities. Many organizations don’t realize that under-licensing--where, for example, a company with only one license installs the software on five PCs-- is also a form of software piracy. This, in addition to the use of illegal software, can land businesses into hot soup with the authorities.
Illegal software also exposes an organization’s computers to malicious code and virus attacks that can destroy valuable data and bring down an entire network.
Second, software is a valuable asset that, when properly managed, can offer many business benefits, ranging from cost savings to gains in employee productivity and efficiency.
What about SAM?
In a nutshell, software asset management (SAM) is a business process that enables an organization to identify and eliminate unauthorized software, and addresses under-licensing issues. While software inventory and tracking are integral parts of SAM, so are the policies, procedures, technologies, procurement, delivery, deployment, and support of a company's software assets.
Step 1: Know what you need
As a start, each company should know exactly what software it needs. This is valuable to ensure effective and efficient purchasing and use of software.
To determine what is needed, answer these questions:
* Are you using the right software to optimize efficiency and effectiveness?
* Are staff satisfied with their current software applications?
* Are there other software programs that would enable your staff to operate more effectively and efficiently?
* Are there software programs you now have but don’t need anymore?
Step 2: Know what you have
Only by knowing what software assets the company has would it be able to determine what it needs in the future. This inventory-taking process can also root out software that is not need. Here’s a check-list of issues to look out for:
* Are you using the most recent and suitable version of programs for your needs?
* Are you using outdated or unnecessary programs?
* Are there other programs you should get to be more productive or efficient?
* Does each employee have the correct set of programs?
* Are employees properly trained to use the software?
* Do you have illegal, unauthorized or unlicensed programs?
Remember that having an original CD for the software does not mean the firm can install it on as many computers as it likes.
Items to note down in the inventory check-list include version numbers, serial numbers and product names, as well as all material related to software on the computers, such as media (floppy disks and CDs), documentation (manuals and reference materials), licenses and administrative paperwork related to the purchase of this software, such as invoices, receipts and other documents that prove the legitimacy of the software.
Step 3: Compare installed software against licenses
With the inventory in hand, take the following steps:
* Compare the software that is installed against what is allowed under the terms of the license agreements
* If you identify any illegal software, delete them immediately
* Compare the legal software with the needs of your organization as identified in step 1 This is also the time to decide which software the firm legally has that it wants to keep or upgrade, which software to discard, and then plan or budget accordingly.
Remember that having an original CD for the software does not mean the firm can install it on as many computers as it likes. Check license agreements to determine the details. Any extra copies made or installed outside the number stipulated in the license are deemed illegal.
Step 4: Make SAM a continuous process
Effective software management requires continuous supervision and periodic spot checks. Make SAM an ongoing process by doing the following:
* Appoint a software manager who is responsible for SAM
* Schedule regular audits
* Coordinate your business’ software needs with your software manager
* Issue a company policy statement outlining the organization’s commitment to use only legal, licensed software
* Conduct random checks
* Send out periodic reminders on using only legal software
By going through these four steps, the company would have taken the basic measures to ensure that it uses legal and licensed software, and more importantly, better manage and harness the software assets for greater cost savings, productivity and efficiency.
Jeffrey Hardee is the vice president and regional director for Asia with the Business Software Alliance.
为下半身写作辩护
作者:丰临
为下半身写作辩护
丰临
自从有了人类,就有了人类的下半身,这一点不喜欢下半身的人也没有疑义。好在下半身在
人类的历史中一直有值得骄傲的贡献,并且会一直地贡献下去,尽管有人不喜欢,可是谁也
不愿意拿掉它。就说你不喜欢做男欢女爱的勾当吧,你总不能不拉屎,不撒尿,不放屁,毕
竟堵着屁眼过日子不好受。除此之外,你可以清高自许,你可以深沉得像个要救世的伟人,
你可以自封为永远正确,永远英明,永远伟大,你可以以口是心非为过日子的必须,这是你
的权利。
我这样说的时候,我不是傻子,我知道有些人恨得牙根生疼,说这家伙疯了,跟什么人一个
鼻孔出气呢。我告诉你,我只用我的鼻孔出气,我只用我的上半身做一切需要用下半身接着
做的事情。只是我要老实告诉你,我们的上半身是在什么时候成了猪嫌狗不爱,堕落到了万
劫不复的境地。不过这话说起来太长,我想说的时候连我都没有了自信。我们的上半身,什
么时候归过自己所有,这是值得每个学历史的人仔细研究的问题,我们几乎没有过看自己所
看,不会假装看不见,想自己所想,不会想得别人瞪眼,吃自己种下的果实,不会被地主和
地主婆的半夜鸡叫吓得梦游丢了魂。没有的。喂养我们的乳汁是服从,是看别人的脸色行事,
是让别人教导、带领和施舍给我们幸福生活。所以有桃花源记,说应该鸡犬之声相闻,民至
老死不相往来,怕人如此,不信任人如此,居然可以成为千古中国人的理想国,说明了上半
身的无奈已经无以复加。在这样的无奈里,中国的文学只是鸦片,中国的文化只是鸦片,所
有的崇高都成了伪装,所有的上半身都在天人合一的梦幻中化成了云雾水汽,而下半身的萎
缩势所当然,雄纠纠的家伙跟着也便没有了用武之地。当然,我们有的是用上半身演戏的人,
那是做给别人看的,用的是别人的原材料,目的在于博别人的好脸色,换自己的升斗米,没
必要不好意思,也没必要因为有人说出来而什么急得要跳墙。上半身已经那样了,我们且由
它们去。
好在我们已经过了温饱线,过剩的营养培养了那么多的荷尔蒙,下半身要起来挡都挡不住。
于是我们知道了,我们曾经浪费了多少时光,让下半身受够了委屈。下半身醒来了就睡不着,
再捂着盖着就太傻了。人不是常说,看戏的是傻子,演戏的是疯子,到了这阵子,下半身闻
鸡起舞,看戏的岂能坐得住,观众纷纷起了反应,下半身一起发威,看戏的和演戏的都成了
疯子,生活的阳光终于透过窗隙,这样的人生美妙怎么估计都不过分。下半身的中国人精神
抖擞,下半身的中国人中气十足,下半身的中国人充满了自信,下半身的中国人憋了几千年,
一下子放出来,可以成江成河,蔚成大观。这些变化真应该是写历史的老头子们好好琢磨琢
磨,用什么样的美好词汇来说,方不辜负这个伟大的时代。
的确,人不能光靠下半身而活,人要伟大,要崇高,要知道话语本身就是一种权力,本来就
老有人想夺权,你不说话别人一定把你当傻子,但是,下围棋的人都知道,急所先落子,什
么事都得有个轻重缓急,上半身不灵光了,只能干些既丢人又现眼的事,既然都是丢人又现
眼,还不如下半身来得实在。我们可以耐着性子听上半身的胡言乱语,我们也可以不耐着性
子开始下半身的美妙之旅,毕竟饱暖之后先思的是淫欲,你不能要求从监狱里出来的人先思
考人生的重大问题,他的满脑子里就是一句话:给我一个女人。我们的自由从这里开始,性
幻想又不犯法,自家的东西要奋起,哪还能管着别人闭着眼说讨厌。下半身的醒来也许会是
一大半人生的醒来,欲中开始生情,开始生爱,开始生出愿望和要求,开始觉得人都差球不
多,何必遮遮掩掩,开始知道他妈的,这世道到底哪些东西重要,我先干完了再说,而且干
完了之后的虚脱和清醒里,一定饱含了人生的无穷智慧,有一种彻悟的大境界。
话说到这里,我刚才喝的酒已经醒了大半了,为了表示我的狡猾和世故,我当然也得先打五
十大板。先说说那些叫嚣上半身伟大的人,看他们一脸不屑地瞪着下半身写作的人,我忍不
住要笑出声来,你以为你是谁呀,严肃得像个领导,背着手训起人来一套一套的,你不服气
你就用上半身写出个东西来,现在是市场经济,只要你写得好,还怕没市场,还怕比不过下
半身写作的。只怕你是眼高手低胆儿小,老婆说梦话就尿床吧。我当然也知道上半身伟大,
不过我写不出来,所以我投机取巧,就不说上半身的好话。因为我的上半身清醒地知道上半
身比下半身更加持久地阳萎。再说就得说下半身写作的人,你们真是没有谙透下半身的美妙,
只会用下半身做,不会用下半身写,时不时还想让下半身伟大得像个上半身,硬要挤进上流
社会里扎势,时不时地露齿而笑,装出羞怯算什么好汉,温柔得像个处女,更是只会哄三岁
的小孩子,尽管现在多大的人都像三岁的小孩子一样扮可爱。下半身就是人生,就写下半身
的人生,那该多么痛快淋漓。下半身写作的人看到这里的时候应该会意,我们是同一条战线
上的人,一大半的话里我是向着你们的,要真叫我写,球,我怎么知道如何写得像一回事,
说大话,做小事,人不过如此。
现在可好了,所有上半身和下半身写作的人一起发现了丰临的无聊了,所有的拳头都已经举
起来,那么,我在跑得远远的之前,一定要把话说完:
你们都觉得丰临很无聊吧,丰临的无聊只不过摹仿了生活,我们的生活何曾有聊。
为下半身写作辩护
丰临
自从有了人类,就有了人类的下半身,这一点不喜欢下半身的人也没有疑义。好在下半身在
人类的历史中一直有值得骄傲的贡献,并且会一直地贡献下去,尽管有人不喜欢,可是谁也
不愿意拿掉它。就说你不喜欢做男欢女爱的勾当吧,你总不能不拉屎,不撒尿,不放屁,毕
竟堵着屁眼过日子不好受。除此之外,你可以清高自许,你可以深沉得像个要救世的伟人,
你可以自封为永远正确,永远英明,永远伟大,你可以以口是心非为过日子的必须,这是你
的权利。
我这样说的时候,我不是傻子,我知道有些人恨得牙根生疼,说这家伙疯了,跟什么人一个
鼻孔出气呢。我告诉你,我只用我的鼻孔出气,我只用我的上半身做一切需要用下半身接着
做的事情。只是我要老实告诉你,我们的上半身是在什么时候成了猪嫌狗不爱,堕落到了万
劫不复的境地。不过这话说起来太长,我想说的时候连我都没有了自信。我们的上半身,什
么时候归过自己所有,这是值得每个学历史的人仔细研究的问题,我们几乎没有过看自己所
看,不会假装看不见,想自己所想,不会想得别人瞪眼,吃自己种下的果实,不会被地主和
地主婆的半夜鸡叫吓得梦游丢了魂。没有的。喂养我们的乳汁是服从,是看别人的脸色行事,
是让别人教导、带领和施舍给我们幸福生活。所以有桃花源记,说应该鸡犬之声相闻,民至
老死不相往来,怕人如此,不信任人如此,居然可以成为千古中国人的理想国,说明了上半
身的无奈已经无以复加。在这样的无奈里,中国的文学只是鸦片,中国的文化只是鸦片,所
有的崇高都成了伪装,所有的上半身都在天人合一的梦幻中化成了云雾水汽,而下半身的萎
缩势所当然,雄纠纠的家伙跟着也便没有了用武之地。当然,我们有的是用上半身演戏的人,
那是做给别人看的,用的是别人的原材料,目的在于博别人的好脸色,换自己的升斗米,没
必要不好意思,也没必要因为有人说出来而什么急得要跳墙。上半身已经那样了,我们且由
它们去。
好在我们已经过了温饱线,过剩的营养培养了那么多的荷尔蒙,下半身要起来挡都挡不住。
于是我们知道了,我们曾经浪费了多少时光,让下半身受够了委屈。下半身醒来了就睡不着,
再捂着盖着就太傻了。人不是常说,看戏的是傻子,演戏的是疯子,到了这阵子,下半身闻
鸡起舞,看戏的岂能坐得住,观众纷纷起了反应,下半身一起发威,看戏的和演戏的都成了
疯子,生活的阳光终于透过窗隙,这样的人生美妙怎么估计都不过分。下半身的中国人精神
抖擞,下半身的中国人中气十足,下半身的中国人充满了自信,下半身的中国人憋了几千年,
一下子放出来,可以成江成河,蔚成大观。这些变化真应该是写历史的老头子们好好琢磨琢
磨,用什么样的美好词汇来说,方不辜负这个伟大的时代。
的确,人不能光靠下半身而活,人要伟大,要崇高,要知道话语本身就是一种权力,本来就
老有人想夺权,你不说话别人一定把你当傻子,但是,下围棋的人都知道,急所先落子,什
么事都得有个轻重缓急,上半身不灵光了,只能干些既丢人又现眼的事,既然都是丢人又现
眼,还不如下半身来得实在。我们可以耐着性子听上半身的胡言乱语,我们也可以不耐着性
子开始下半身的美妙之旅,毕竟饱暖之后先思的是淫欲,你不能要求从监狱里出来的人先思
考人生的重大问题,他的满脑子里就是一句话:给我一个女人。我们的自由从这里开始,性
幻想又不犯法,自家的东西要奋起,哪还能管着别人闭着眼说讨厌。下半身的醒来也许会是
一大半人生的醒来,欲中开始生情,开始生爱,开始生出愿望和要求,开始觉得人都差球不
多,何必遮遮掩掩,开始知道他妈的,这世道到底哪些东西重要,我先干完了再说,而且干
完了之后的虚脱和清醒里,一定饱含了人生的无穷智慧,有一种彻悟的大境界。
话说到这里,我刚才喝的酒已经醒了大半了,为了表示我的狡猾和世故,我当然也得先打五
十大板。先说说那些叫嚣上半身伟大的人,看他们一脸不屑地瞪着下半身写作的人,我忍不
住要笑出声来,你以为你是谁呀,严肃得像个领导,背着手训起人来一套一套的,你不服气
你就用上半身写出个东西来,现在是市场经济,只要你写得好,还怕没市场,还怕比不过下
半身写作的。只怕你是眼高手低胆儿小,老婆说梦话就尿床吧。我当然也知道上半身伟大,
不过我写不出来,所以我投机取巧,就不说上半身的好话。因为我的上半身清醒地知道上半
身比下半身更加持久地阳萎。再说就得说下半身写作的人,你们真是没有谙透下半身的美妙,
只会用下半身做,不会用下半身写,时不时还想让下半身伟大得像个上半身,硬要挤进上流
社会里扎势,时不时地露齿而笑,装出羞怯算什么好汉,温柔得像个处女,更是只会哄三岁
的小孩子,尽管现在多大的人都像三岁的小孩子一样扮可爱。下半身就是人生,就写下半身
的人生,那该多么痛快淋漓。下半身写作的人看到这里的时候应该会意,我们是同一条战线
上的人,一大半的话里我是向着你们的,要真叫我写,球,我怎么知道如何写得像一回事,
说大话,做小事,人不过如此。
现在可好了,所有上半身和下半身写作的人一起发现了丰临的无聊了,所有的拳头都已经举
起来,那么,我在跑得远远的之前,一定要把话说完:
你们都觉得丰临很无聊吧,丰临的无聊只不过摹仿了生活,我们的生活何曾有聊。
如果爱你是个错,我宁可一错再错
作者:叶开197888
如果爱你是个错,我宁可一错再错
今天是工大的毕业典礼,昨夜以前的一帮师弟放言狂撮于工大北门,并将俺
急召而去,为尔等祝酒,并美言“散伙饭”。
席间觥筹交错,浪声四起,恍惚回到校园时代,俺亦不自禁,悬乎抱着尔等
竖子痛哭流涕以示离别之苦,矫情也。气氛热烈之际,俺悠悠间听见一女子悲凄
之音,在嘈杂中格外凄凉,恍若鬼声。俺冷汗迭冒,转头望去,原来是小师妹轻
洒珠泪。俺甚不解,有师弟旁云:“盖不舍男友尔。”俺嗟呼不已,旋又喝酒。
这样,话题便转到了爱情头上,席间竟有鸳鸯三两对,热烈欢呼之下让俺描
述当年大战群雌的悲壮举动。这等咻事原本是要等俺孩儿成材待战之际言传身教,
怎能在此泄露天机,俺自然不允,不料众鸳鸯不依不饶,誓要俺棍棒下出真言,
俺却之不恭,慢慢言道:“师兄佳话,自有后人评说;你们今日一别,不知将来
能有携手几位?适当今日分离,我与各位话一个老故事吧。”众人见俺不肯自暴
家丑大不愿意,好在小师妹对俺敬爱有加,执意要听,于是俺娓娓道来:
马男与牛女是大学的同学,他们两个人在大学就建立了很深厚的革命感情(
适值七一,俺说话专业一点)。马男是高干子弟,而牛女则是一般工人家庭,出
于这种家庭的因素,两人并没有把这段校园黄昏恋透露给家里。而牛女更是有着
先天性的心脏病,两人的恋爱就在巨大的阴影中缓缓散步。很快,两个人就面临
着毕业分配的问题,如果按照马男家的安排,他们可能就此分别,并且没有多大
的可能再举案齐眉;还有一种可能,就是马男抛弃家中丰厚的安排,陪伴牛女到
她家的那个偏僻的小县城,而无疑,这样的选择是马男家永远不可能接受的。
马男当然选择了后者,否则俺还讲个P啊。故事发展的很平静,马男和牛女
在太阳西斜的县城度过了老天爷赐于他们的最后的安宁,因为很快牛女的心脏病
就在一次忙碌的工作中发作了。小县城没有能力接受这样的疾病,马男决定重返
北京。
北京的家庭像欢迎游子一般的接待了他,热情与亲情中马男没有忘记远在他
乡的妻子。不费多少的周折,马男便向家人提出了自己的要求,家里人也很爽快,
“马男,回到我们身边。”马男怔了一下,好象从来没有考虑这个问题。他知道,
家里人是永远不会接受牛女的,当天晚上,马男坐车重返了小县城。
濒临绝境的牛女在马男回来后病情奇迹般的回转了,医生感觉到自己突破了
医学上的一个难题,的确,事后这位医生的名声大了很多,但他再没有医好像牛
女这样的病例。也许有些事情只能用奇迹来解释。
牛女并没有根治,还留下了一个后遗症。在出院的那一天,医生告诉马男,
牛女在今后的生活中可能会随时到下不再醒过来。可能是在出院后的一刻钟,也
可能永远不会。马男知道这意味着什么。
日子和往常好象没有什么不同,但两人的笑容背后都多了一份对未来的惊恐,
对死亡的等待。
两年过去了,牛女依然健康的活着,医生的那个预言在牛女的心里已经开始
淡忘,甚至有些危言耸听了。马男依旧无微不至的照顾着自己的妻子,就像从前。
看见同龄人的身畔都多了孩子的簇拥,牛女开始期盼自己也能怀上马男的孩
子。马男十分坚决的否定了她的想法,因为他知道,对别人来说,一次的十月怀
胎可能只是痛苦与累赘。而对牛女,却是生与死的较量。他不会让牛女以身犯险。
牛女固执的怀上了马男的孩子,她不在乎生死,只是想为马男做点什么。于
是孩子出生了,在医院里,他们又遇见了救治牛女的那个医生,医生喃喃说:“
疯了,疯了。”
孩子出世了,长大了,但幸福的生活并没有如约到来,两个人的头顶仍然悬
着那个可怕的生死之间。
5年过去了,孩子也已经5岁了,一天,天降暴雨,牛女困在单位不能回家,
打个电话给马男的单位让他来接自己。马男不在办公室,于是同事到车间里去找
他,车间很嘈杂,同事大声喊:“马男,你妻子单位的电话!”同事后来在地上
找到马男时,他已经死了,医生说死于心脏病。他的心脏再也不能承受关于妻子
突然死亡的消息了。
牛女知道,是自己的心脏病转移到马男身上了,他用他多年以来无微不至的
照顾与担惊受怕,将妻子的病转移到了自己的身上。
故事已毕,然室内无声,良久,小师妹握起师弟的手云:“如果爱你是个错,
我宁可一错再错!”俺也微笑,望她二人百年之合
如果爱你是个错,我宁可一错再错
今天是工大的毕业典礼,昨夜以前的一帮师弟放言狂撮于工大北门,并将俺
急召而去,为尔等祝酒,并美言“散伙饭”。
席间觥筹交错,浪声四起,恍惚回到校园时代,俺亦不自禁,悬乎抱着尔等
竖子痛哭流涕以示离别之苦,矫情也。气氛热烈之际,俺悠悠间听见一女子悲凄
之音,在嘈杂中格外凄凉,恍若鬼声。俺冷汗迭冒,转头望去,原来是小师妹轻
洒珠泪。俺甚不解,有师弟旁云:“盖不舍男友尔。”俺嗟呼不已,旋又喝酒。
这样,话题便转到了爱情头上,席间竟有鸳鸯三两对,热烈欢呼之下让俺描
述当年大战群雌的悲壮举动。这等咻事原本是要等俺孩儿成材待战之际言传身教,
怎能在此泄露天机,俺自然不允,不料众鸳鸯不依不饶,誓要俺棍棒下出真言,
俺却之不恭,慢慢言道:“师兄佳话,自有后人评说;你们今日一别,不知将来
能有携手几位?适当今日分离,我与各位话一个老故事吧。”众人见俺不肯自暴
家丑大不愿意,好在小师妹对俺敬爱有加,执意要听,于是俺娓娓道来:
马男与牛女是大学的同学,他们两个人在大学就建立了很深厚的革命感情(
适值七一,俺说话专业一点)。马男是高干子弟,而牛女则是一般工人家庭,出
于这种家庭的因素,两人并没有把这段校园黄昏恋透露给家里。而牛女更是有着
先天性的心脏病,两人的恋爱就在巨大的阴影中缓缓散步。很快,两个人就面临
着毕业分配的问题,如果按照马男家的安排,他们可能就此分别,并且没有多大
的可能再举案齐眉;还有一种可能,就是马男抛弃家中丰厚的安排,陪伴牛女到
她家的那个偏僻的小县城,而无疑,这样的选择是马男家永远不可能接受的。
马男当然选择了后者,否则俺还讲个P啊。故事发展的很平静,马男和牛女
在太阳西斜的县城度过了老天爷赐于他们的最后的安宁,因为很快牛女的心脏病
就在一次忙碌的工作中发作了。小县城没有能力接受这样的疾病,马男决定重返
北京。
北京的家庭像欢迎游子一般的接待了他,热情与亲情中马男没有忘记远在他
乡的妻子。不费多少的周折,马男便向家人提出了自己的要求,家里人也很爽快,
“马男,回到我们身边。”马男怔了一下,好象从来没有考虑这个问题。他知道,
家里人是永远不会接受牛女的,当天晚上,马男坐车重返了小县城。
濒临绝境的牛女在马男回来后病情奇迹般的回转了,医生感觉到自己突破了
医学上的一个难题,的确,事后这位医生的名声大了很多,但他再没有医好像牛
女这样的病例。也许有些事情只能用奇迹来解释。
牛女并没有根治,还留下了一个后遗症。在出院的那一天,医生告诉马男,
牛女在今后的生活中可能会随时到下不再醒过来。可能是在出院后的一刻钟,也
可能永远不会。马男知道这意味着什么。
日子和往常好象没有什么不同,但两人的笑容背后都多了一份对未来的惊恐,
对死亡的等待。
两年过去了,牛女依然健康的活着,医生的那个预言在牛女的心里已经开始
淡忘,甚至有些危言耸听了。马男依旧无微不至的照顾着自己的妻子,就像从前。
看见同龄人的身畔都多了孩子的簇拥,牛女开始期盼自己也能怀上马男的孩
子。马男十分坚决的否定了她的想法,因为他知道,对别人来说,一次的十月怀
胎可能只是痛苦与累赘。而对牛女,却是生与死的较量。他不会让牛女以身犯险。
牛女固执的怀上了马男的孩子,她不在乎生死,只是想为马男做点什么。于
是孩子出生了,在医院里,他们又遇见了救治牛女的那个医生,医生喃喃说:“
疯了,疯了。”
孩子出世了,长大了,但幸福的生活并没有如约到来,两个人的头顶仍然悬
着那个可怕的生死之间。
5年过去了,孩子也已经5岁了,一天,天降暴雨,牛女困在单位不能回家,
打个电话给马男的单位让他来接自己。马男不在办公室,于是同事到车间里去找
他,车间很嘈杂,同事大声喊:“马男,你妻子单位的电话!”同事后来在地上
找到马男时,他已经死了,医生说死于心脏病。他的心脏再也不能承受关于妻子
突然死亡的消息了。
牛女知道,是自己的心脏病转移到马男身上了,他用他多年以来无微不至的
照顾与担惊受怕,将妻子的病转移到了自己的身上。
故事已毕,然室内无声,良久,小师妹握起师弟的手云:“如果爱你是个错,
我宁可一错再错!”俺也微笑,望她二人百年之合
我老婆不让我干的六件事
我老婆不让我干的六件事
1 不让我洗衣服
前几天我趁老婆午休想帮老婆干点事,在屋子里转了半天,发现盆里有几件衣服,于是我就把这几件衣服扔进洗衣机里,--------晚上老婆温柔地夸我 “亲爱的,没想到你还会洗衣服”,谁知第二天中午我下班回家,老婆冲我吼道“你洗的什么衣服,袖子也不展开,土还在里面藏着呢,还有-----票子也洗碎了”,从此老婆再也不许我洗衣服了.
2 不让我炒菜
上个礼拜七中午,老婆跟我说:“我还有点材料要整理,米饭已经闷好了,你去把菜炒了吧。”待吃饭的时候,老婆吐了,她发现自己碗里的有棵波菜根没有切掉,而且----根须张牙舞爪还有好多泥巴没洗掉. 从此老婆宁愿饿着也不让我炒菜了.
3 不让我陪她买衣服
有一次,老婆拉着我非要我陪她上街买衣服,为了给我面子,让我拿着钱。 我说“好吧,我去换你为我买的那身西服。”换完衣服我俩高兴去了。等看好衣服该我付钱的时候,才发现钱在落家里了,换衣服时给忘了。从此以后,老婆再上街都会找隔壁的大姐。
4 不让我陪丈母娘聊天
有一次在丈母娘家,我突然心血来潮想夸老婆几句,于是我对丈母娘说“你闺女可勤快了,在家里洗衣做饭她全包了”,丈母娘说:“不会吧,她在我这里可什么都不干。”一指客厅:“你看她还在那里看电视,也不来帮我洗菜。”从此以后,再去丈母娘家,老婆都会警告我“你要是再乱说,看我回来怎么收拾你。”
5 不让我兜里装太多的钱
有一天下班路上有一个小姑娘拦住我说:“大哥,我们单位发了一瓶贵妃,我不用这么好的擦脸油,50块便宜给你吧。”我一想,几百块的东西才卖50,太便宜了,为了老婆那张脸我豁出去了,但我还想砍砍价,后来小姑娘让我两块,48成交.回家后老婆很高兴,着实夸了我一顿,还在我腮上留了一个印.可是第二天老婆的脸就走样了,挺滋润的脸一夜之间长了18个豆豆.从此以后,老婆规定我兜里的钱不许超过50元.
6 不许我再辅导邻居家的孩子
对门大爷家有个上三年级的孩子,有一次这个孩子拿着书本来问我:“叔叔,我有道题不会错,爷爷说你是大学生,特有学问让我来请教你。”我一看, 是道数学题, 羊圈里有羊7只 , 猪圈里的猪是羊的3倍, 问猪有几只? 我说:“这么简单的题都不会做,亏你都上三年级了,明摆着有24头猪嘛。”第二天,孩子拿着本来找我,正好我不在,老婆在家。从此以后,老婆不许我再现眼了。
1 不让我洗衣服
前几天我趁老婆午休想帮老婆干点事,在屋子里转了半天,发现盆里有几件衣服,于是我就把这几件衣服扔进洗衣机里,--------晚上老婆温柔地夸我 “亲爱的,没想到你还会洗衣服”,谁知第二天中午我下班回家,老婆冲我吼道“你洗的什么衣服,袖子也不展开,土还在里面藏着呢,还有-----票子也洗碎了”,从此老婆再也不许我洗衣服了.
2 不让我炒菜
上个礼拜七中午,老婆跟我说:“我还有点材料要整理,米饭已经闷好了,你去把菜炒了吧。”待吃饭的时候,老婆吐了,她发现自己碗里的有棵波菜根没有切掉,而且----根须张牙舞爪还有好多泥巴没洗掉. 从此老婆宁愿饿着也不让我炒菜了.
3 不让我陪她买衣服
有一次,老婆拉着我非要我陪她上街买衣服,为了给我面子,让我拿着钱。 我说“好吧,我去换你为我买的那身西服。”换完衣服我俩高兴去了。等看好衣服该我付钱的时候,才发现钱在落家里了,换衣服时给忘了。从此以后,老婆再上街都会找隔壁的大姐。
4 不让我陪丈母娘聊天
有一次在丈母娘家,我突然心血来潮想夸老婆几句,于是我对丈母娘说“你闺女可勤快了,在家里洗衣做饭她全包了”,丈母娘说:“不会吧,她在我这里可什么都不干。”一指客厅:“你看她还在那里看电视,也不来帮我洗菜。”从此以后,再去丈母娘家,老婆都会警告我“你要是再乱说,看我回来怎么收拾你。”
5 不让我兜里装太多的钱
有一天下班路上有一个小姑娘拦住我说:“大哥,我们单位发了一瓶贵妃,我不用这么好的擦脸油,50块便宜给你吧。”我一想,几百块的东西才卖50,太便宜了,为了老婆那张脸我豁出去了,但我还想砍砍价,后来小姑娘让我两块,48成交.回家后老婆很高兴,着实夸了我一顿,还在我腮上留了一个印.可是第二天老婆的脸就走样了,挺滋润的脸一夜之间长了18个豆豆.从此以后,老婆规定我兜里的钱不许超过50元.
6 不许我再辅导邻居家的孩子
对门大爷家有个上三年级的孩子,有一次这个孩子拿着书本来问我:“叔叔,我有道题不会错,爷爷说你是大学生,特有学问让我来请教你。”我一看, 是道数学题, 羊圈里有羊7只 , 猪圈里的猪是羊的3倍, 问猪有几只? 我说:“这么简单的题都不会做,亏你都上三年级了,明摆着有24头猪嘛。”第二天,孩子拿着本来找我,正好我不在,老婆在家。从此以后,老婆不许我再现眼了。
办公室拍女人屁股的三种结果
办公室拍女人屁股的三种结果
办公室拍女人屁股的三种结果
某年某月的某一天,一个男子在办公室里轻轻拍了一个女孩的小屁股,大概会出现三种结果:
1、女孩挥手对男子的左脸给了一个响亮的耳光;(请注意,她是个思想保守的姑娘,用实际行动捍卫了女权。)
2、女孩微笑着给男子一粉拳,娇滴滴地说"你真坏!"。(请注意,她喜欢你,你做什么她都不讨厌。)
3、女孩尖叫了一声,引来了周围义愤填膺的同事和对该女孩爱护有加的老板。事情简直糟糕透了,一个男同志质问拍屁股的男子为什么对女人实施性骚扰,两名大龄女同事安慰哭泣的女子,愤怒的老板把肇事者带到办公室一通训斥,扬言要立即开除他。两名威武雄壮的警察同志拎着警棍把肇事者带走,在楼下的警车里最其进行了长达三个钟头的政治攻势和思想品德教育。。。
后来,肇事者说出了事情的真相--
"那女孩的屁股上落了一个花腿大蚊子,我只想英雄救美,没想骚扰她丰满的小屁股……"
说完,他摊来手掌,果然,掌心里有个花腿大蚊子!
(花腿大蚊子挣扎着站起来,满眼泪光地对警察说:"靠!请马上把这流氓抓起来,我还没吃晚餐呢,他就把我打晕在餐桌上了。)
办公室拍女人屁股的三种结果
某年某月的某一天,一个男子在办公室里轻轻拍了一个女孩的小屁股,大概会出现三种结果:
1、女孩挥手对男子的左脸给了一个响亮的耳光;(请注意,她是个思想保守的姑娘,用实际行动捍卫了女权。)
2、女孩微笑着给男子一粉拳,娇滴滴地说"你真坏!"。(请注意,她喜欢你,你做什么她都不讨厌。)
3、女孩尖叫了一声,引来了周围义愤填膺的同事和对该女孩爱护有加的老板。事情简直糟糕透了,一个男同志质问拍屁股的男子为什么对女人实施性骚扰,两名大龄女同事安慰哭泣的女子,愤怒的老板把肇事者带到办公室一通训斥,扬言要立即开除他。两名威武雄壮的警察同志拎着警棍把肇事者带走,在楼下的警车里最其进行了长达三个钟头的政治攻势和思想品德教育。。。
后来,肇事者说出了事情的真相--
"那女孩的屁股上落了一个花腿大蚊子,我只想英雄救美,没想骚扰她丰满的小屁股……"
说完,他摊来手掌,果然,掌心里有个花腿大蚊子!
(花腿大蚊子挣扎着站起来,满眼泪光地对警察说:"靠!请马上把这流氓抓起来,我还没吃晚餐呢,他就把我打晕在餐桌上了。)
情人,相爱容易相处难
作者:凡妮
情人,相爱容易相处难
说到情人,本也是个不错的字眼。外国人眼里,这词多半和浪漫诗意连在一起,而
且多可歌可泣,多佳话长传。不小心,到了中国人嘴里,立刻与龌龊不堪结缘,一经提
及,必小心四顾,闪烁其辞,而情人在这种情绪下,当然其内含也好不到哪里。常常是
东家的女人不守妇道,与人私通,便叫做找情人了。再不然,也是西家的男人寻花问柳,
而那花柳,必定也会冠以“情人”的称谓了。
不禁为情人一词如此遭遇掬一捧同情之泪。
那些寻空躲在一起做些不见天日的勾当,淫词浪曲,为人不齿的男女,根本不配称
为情人,那只是一种误传,白白糟蹋了这个美丽的词语。
情人嘛,在我理解,就是有情人!就是相爱,彼此欣赏,彼此倾慕着的两个人。情
人,必定先是以情为重,欲为轻,而义为重,色为轻。情人,快乐的时候,渴望他在身
旁,悲伤的时候,渴望他在身旁,不为分担,不为分享,只因为,他可以懂你,无论何
时,无论何地。
情人与爱人不同的。情人,不仅仅有爱,更多的是相互欣赏和得以相知的感激。四
目对视,不需要太多的言语,而一切,已经尽在不言中了。
寻到真正的情人,不容易,而有幸碰到了,相处起来,更为不易。
女人在没有爱的时候,有个性,有自尊,思维活跃,生活内容丰富。男人于是欣赏
她,爱她,让她成为自己内心深处,最疼的女人——情人!而女人一旦陷入爱里,通常
把爱当做生活的全部,把她的情人当成自己存在的唯一意义所在。她关闭了生活里,所
有与他无关的部分,整个身心,只对他开放。从前的爱好搁置不顾,从前的密友不再来
往,从前的志向不再提起,从前的灵性不再闪现。整个世界,只有一个情人!她感觉,
她爱得伟大,爱得无私!
最初,男人在情人火热,单纯的爱里,幸福快乐,而时间一久,热情渐退的时候,
男人突然发现,从前的那个情人没有了。她变得狭隘,敏感,多疑,乏味。她抱怨他一
整天没有一个电话,她数落他又有几天没有写信来,她怀疑他不再象最初一样的爱她,
她在心里反复比较他的细微变化,她不思进取,她除爱不爱,已经不会说别的什么……
爱已经不再温暖,成为一种负担。女人陷入爱,也同时是在慢慢失去爱。只因为,她在
以不可至信的速度,短时间内,变成另一个人!全然不同的一个人!男人感觉她不再可
爱,不再动人,不再温柔,不再……,值得他继续守住。
而男人,在爱的最初,火热,投入,激情四溢。他要征服这个令他欣赏的女人,他
要使她成为自己的情人!他成功了!他在欣赏感动着身边这个心仪的女人时,心里又有
多少快乐是为了自己的魅力而发呢?心里又有多少自豪是为自己的成功而感呢?呵呵,
这就是男人!上古以来,就是这样的,征服女人,就是自身价值实现的一种光荣体现!
他们历来如此,无需责备,无需抱怨,因为,他们就是这样的一种动物!女人给予的热
情,给予的爱意,让他们如沐春风,神采飞扬。
然而,男人的世界,大多不会只装着一个女人!他有事业,他有责任,他有负担。
他珍惜她的温情和呵护,然而,他不能固守这一点点就满足而停步。他还有太多的事情,
太多的计划,在等着他去做,等他去完成。女人这时,偏偏已经完全忘记了自己!活着,
只为他!而这时,太多的缠绵,太多的抱怨,明显不合时宜了。情人的关系一旦确定,
男人更喜欢放心的用更多的精力出去打拼,而不是象起始的阶段那样全身心的投入爱里。
他不是不爱,只是,他对这爱,感觉舒适,不必再费心做太多。他想疲倦的时候睡一会,
快乐的时候找个哥儿们侃一顿,烦的时候出去一个人溜弯。当然,他的心里,也会经常
想起她,想她的笑,想她的好,想她的任性,想她的唠叨。打个电话,见上一面,一顿
烛光晚餐,午后一起来杯茶。
只不过,他不想每时每刻都和她捆在一起,每时每刻甜言蜜语的哄着她。在他的心
里,女人也应该是独立的,为自己而活,而相爱,只是生命的一部分。稳定后的关系里,
男人不再有初期的热情,一个原因是他真的燃不起了,再有一个原因,就是他感觉,那
些已经没必要!
男人以为,情人,是来爱的,不是用来哄的:)他喜欢淡然而浓郁的温情,他喜欢
一种无束缚的宽松,他喜欢想念时,回首一望,就等在身后的温柔。
男人是自私而热情易逝的。唯爱至尊的女人,陷入爱里,就意味着准备失去。
有句话,女人是为了爱活着的动物。可是,女人,时刻保持自我存在的意义,为自
己而活。活出你的个性,活出你的风采!爱,不要爱得毫无保留,恨,不要恨得天长地
久!毕竟来这世上一次,只有短短的几十年,真心真意的爱,也要懂得以一种艺术的方
式去守护,去珍惜。只因为太不想失去,所以,更不能忘记自我!如果你自己都不爱自
己,不为自己考虑,还会有谁来爱你呢?
不要忘记,情人的爱,更多出于欣赏,那么,不去不断的完善自身,你还有什么值
得他珍惜?
情人世界里,闪动的泪光,欣赏的眼神,内心的感动,一世的相依!只要两人都诚
心的守望这份难得的爱意,只要两人都不会忘记自我,迷离失所,那么,情人世界的天
空里,永远纯净,永远美丽。
情人,相爱容易相处难
说到情人,本也是个不错的字眼。外国人眼里,这词多半和浪漫诗意连在一起,而
且多可歌可泣,多佳话长传。不小心,到了中国人嘴里,立刻与龌龊不堪结缘,一经提
及,必小心四顾,闪烁其辞,而情人在这种情绪下,当然其内含也好不到哪里。常常是
东家的女人不守妇道,与人私通,便叫做找情人了。再不然,也是西家的男人寻花问柳,
而那花柳,必定也会冠以“情人”的称谓了。
不禁为情人一词如此遭遇掬一捧同情之泪。
那些寻空躲在一起做些不见天日的勾当,淫词浪曲,为人不齿的男女,根本不配称
为情人,那只是一种误传,白白糟蹋了这个美丽的词语。
情人嘛,在我理解,就是有情人!就是相爱,彼此欣赏,彼此倾慕着的两个人。情
人,必定先是以情为重,欲为轻,而义为重,色为轻。情人,快乐的时候,渴望他在身
旁,悲伤的时候,渴望他在身旁,不为分担,不为分享,只因为,他可以懂你,无论何
时,无论何地。
情人与爱人不同的。情人,不仅仅有爱,更多的是相互欣赏和得以相知的感激。四
目对视,不需要太多的言语,而一切,已经尽在不言中了。
寻到真正的情人,不容易,而有幸碰到了,相处起来,更为不易。
女人在没有爱的时候,有个性,有自尊,思维活跃,生活内容丰富。男人于是欣赏
她,爱她,让她成为自己内心深处,最疼的女人——情人!而女人一旦陷入爱里,通常
把爱当做生活的全部,把她的情人当成自己存在的唯一意义所在。她关闭了生活里,所
有与他无关的部分,整个身心,只对他开放。从前的爱好搁置不顾,从前的密友不再来
往,从前的志向不再提起,从前的灵性不再闪现。整个世界,只有一个情人!她感觉,
她爱得伟大,爱得无私!
最初,男人在情人火热,单纯的爱里,幸福快乐,而时间一久,热情渐退的时候,
男人突然发现,从前的那个情人没有了。她变得狭隘,敏感,多疑,乏味。她抱怨他一
整天没有一个电话,她数落他又有几天没有写信来,她怀疑他不再象最初一样的爱她,
她在心里反复比较他的细微变化,她不思进取,她除爱不爱,已经不会说别的什么……
爱已经不再温暖,成为一种负担。女人陷入爱,也同时是在慢慢失去爱。只因为,她在
以不可至信的速度,短时间内,变成另一个人!全然不同的一个人!男人感觉她不再可
爱,不再动人,不再温柔,不再……,值得他继续守住。
而男人,在爱的最初,火热,投入,激情四溢。他要征服这个令他欣赏的女人,他
要使她成为自己的情人!他成功了!他在欣赏感动着身边这个心仪的女人时,心里又有
多少快乐是为了自己的魅力而发呢?心里又有多少自豪是为自己的成功而感呢?呵呵,
这就是男人!上古以来,就是这样的,征服女人,就是自身价值实现的一种光荣体现!
他们历来如此,无需责备,无需抱怨,因为,他们就是这样的一种动物!女人给予的热
情,给予的爱意,让他们如沐春风,神采飞扬。
然而,男人的世界,大多不会只装着一个女人!他有事业,他有责任,他有负担。
他珍惜她的温情和呵护,然而,他不能固守这一点点就满足而停步。他还有太多的事情,
太多的计划,在等着他去做,等他去完成。女人这时,偏偏已经完全忘记了自己!活着,
只为他!而这时,太多的缠绵,太多的抱怨,明显不合时宜了。情人的关系一旦确定,
男人更喜欢放心的用更多的精力出去打拼,而不是象起始的阶段那样全身心的投入爱里。
他不是不爱,只是,他对这爱,感觉舒适,不必再费心做太多。他想疲倦的时候睡一会,
快乐的时候找个哥儿们侃一顿,烦的时候出去一个人溜弯。当然,他的心里,也会经常
想起她,想她的笑,想她的好,想她的任性,想她的唠叨。打个电话,见上一面,一顿
烛光晚餐,午后一起来杯茶。
只不过,他不想每时每刻都和她捆在一起,每时每刻甜言蜜语的哄着她。在他的心
里,女人也应该是独立的,为自己而活,而相爱,只是生命的一部分。稳定后的关系里,
男人不再有初期的热情,一个原因是他真的燃不起了,再有一个原因,就是他感觉,那
些已经没必要!
男人以为,情人,是来爱的,不是用来哄的:)他喜欢淡然而浓郁的温情,他喜欢
一种无束缚的宽松,他喜欢想念时,回首一望,就等在身后的温柔。
男人是自私而热情易逝的。唯爱至尊的女人,陷入爱里,就意味着准备失去。
有句话,女人是为了爱活着的动物。可是,女人,时刻保持自我存在的意义,为自
己而活。活出你的个性,活出你的风采!爱,不要爱得毫无保留,恨,不要恨得天长地
久!毕竟来这世上一次,只有短短的几十年,真心真意的爱,也要懂得以一种艺术的方
式去守护,去珍惜。只因为太不想失去,所以,更不能忘记自我!如果你自己都不爱自
己,不为自己考虑,还会有谁来爱你呢?
不要忘记,情人的爱,更多出于欣赏,那么,不去不断的完善自身,你还有什么值
得他珍惜?
情人世界里,闪动的泪光,欣赏的眼神,内心的感动,一世的相依!只要两人都诚
心的守望这份难得的爱意,只要两人都不会忘记自我,迷离失所,那么,情人世界的天
空里,永远纯净,永远美丽。
Wednesday, October 27, 2004
SORTING OUT THE Gs
ALFRED SIEW talks about the good, the bad and the ugly of 3G mobile phones
What is 3G?
There was, well, 1G, characterised by the analogue 'brick' phones of the 1980s. 2G refers to digital systems such as GSM and CDMA which emerged in the 1990s - and are probably what you are handling now.
The 2.5G phones are GSM phones which have general packet radio service (GPRS) technology built in. GPRS lets people connect to the Internet with their phones better than plain Jane 2G, or GSM, phones because GPRS transfers data using a packet-based network, as a computer would.
3G technology allows you to do what you do on broadband now - surf the web, download songs and watch videos - wherever you go. 3G networks promise speedy data downloads 'anytime, anywhere'. It's much like upgrading from a slow 56Kbps dial-up to a broadband service.
A totally new cellphone network has to be built from scratch for 3G, which is expected to co-exist with 2G networks for many years because many users are still on GSM.
What can I do with 3G?
Whatever you can do with the extra speed, like surf the Web wirelessly while travelling in a cab. An MP3 track will take about a minute to download. And you can watch streamed videos of, say, David Beckham's free kick, while you are out and about.
Most phones will also come with video cameras, meaning you can make video calls to friends who have 3G phones or video phones at home (SingTel has plans to offer such a service).
Isn't 3G plagued with problems?
The biggest problem facing 3G is the weight of expectation. With all the hype surrounding it, it doesn't have much time for teething problems. Early phones suffer from short battery life and dropped calls when people move from a 3G to a 2G network. But you can make video calls and download videos on the go, so the technology is fulfilling some of its promi-ses despite the problems.
Why has it taken so long to come here?
The first 3G service was rolled out in Japan by NTT DoCoMo in October 2001, so it has been around for a few years now. Cellphone operators in other countries, such as Singapore, are taking more time to test how well the phones work with their networks, so that the service does not bomb at launch.
What happens to GSM?
It's still around and will let you make calls in areas where there is no 3G coverage. Most 3G phones will support both W-CDMA (wideband CDMA, a 3G standard used here) and GSM. In other words, you have two phones in one.
So you won't have to worry about a lack of coverage even when you go into an underground car park - an expected 3G blindspot.
The main problem is moving from a 3G network to a 2.5G one. Your phone will automatically connect to a 2.5G network if it can't find a 3G network. But if you walk from a 3G to a 2.5G area while talking on the phone, you may get a dropped call.
That's because the phone and the wireless network don't yet have the intelligence to hand over the call seamlessly from one network to the next.
How much will 3G phones and services cost?
Local pricing is not available yet because telcos are still firming up their prices. But phones are expected to cost as much as current high-end phones.
The Sony Ericsson Z1010, for example, goes for A$649 (S$789) with 3 Australia (www.three.com.au). A 3G service plan goes for A$99 per month.
What is 3G?
There was, well, 1G, characterised by the analogue 'brick' phones of the 1980s. 2G refers to digital systems such as GSM and CDMA which emerged in the 1990s - and are probably what you are handling now.
The 2.5G phones are GSM phones which have general packet radio service (GPRS) technology built in. GPRS lets people connect to the Internet with their phones better than plain Jane 2G, or GSM, phones because GPRS transfers data using a packet-based network, as a computer would.
3G technology allows you to do what you do on broadband now - surf the web, download songs and watch videos - wherever you go. 3G networks promise speedy data downloads 'anytime, anywhere'. It's much like upgrading from a slow 56Kbps dial-up to a broadband service.
A totally new cellphone network has to be built from scratch for 3G, which is expected to co-exist with 2G networks for many years because many users are still on GSM.
What can I do with 3G?
Whatever you can do with the extra speed, like surf the Web wirelessly while travelling in a cab. An MP3 track will take about a minute to download. And you can watch streamed videos of, say, David Beckham's free kick, while you are out and about.
Most phones will also come with video cameras, meaning you can make video calls to friends who have 3G phones or video phones at home (SingTel has plans to offer such a service).
Isn't 3G plagued with problems?
The biggest problem facing 3G is the weight of expectation. With all the hype surrounding it, it doesn't have much time for teething problems. Early phones suffer from short battery life and dropped calls when people move from a 3G to a 2G network. But you can make video calls and download videos on the go, so the technology is fulfilling some of its promi-ses despite the problems.
Why has it taken so long to come here?
The first 3G service was rolled out in Japan by NTT DoCoMo in October 2001, so it has been around for a few years now. Cellphone operators in other countries, such as Singapore, are taking more time to test how well the phones work with their networks, so that the service does not bomb at launch.
What happens to GSM?
It's still around and will let you make calls in areas where there is no 3G coverage. Most 3G phones will support both W-CDMA (wideband CDMA, a 3G standard used here) and GSM. In other words, you have two phones in one.
So you won't have to worry about a lack of coverage even when you go into an underground car park - an expected 3G blindspot.
The main problem is moving from a 3G network to a 2.5G one. Your phone will automatically connect to a 2.5G network if it can't find a 3G network. But if you walk from a 3G to a 2.5G area while talking on the phone, you may get a dropped call.
That's because the phone and the wireless network don't yet have the intelligence to hand over the call seamlessly from one network to the next.
How much will 3G phones and services cost?
Local pricing is not available yet because telcos are still firming up their prices. But phones are expected to cost as much as current high-end phones.
The Sony Ericsson Z1010, for example, goes for A$649 (S$789) with 3 Australia (www.three.com.au). A 3G service plan goes for A$99 per month.
3G Using is believing
Oct 20, 2004
3G Using is believing
By Alfred Siew
Congratulate us. We got to test out the 3G technology each of the three telcos will be rolling out by the end of the year.
Armed with the (still somewhat bulky) phones, we made video calls to friends, watched live TV on the phones and downloaded files from the Net at broadband speeds. The verdict: It's as fast and as powerful as it has been made out to be.
Even the coverage offered by SingTel, which let us try its service islandwide, surprised us pleasantly.
From Toa Payoh to Bedok, a live TV show streamed flawlessly. When we made calls from an underground tunnel - an expected blindspot for 3G networks - the network didn't stutter and cut us off in the middle of a call.
Our road test is not a scientific signal test, which telcos do with their measurement equipment fitted to land rovers.
We set out to experience what being in a 3G world will be like. Can we really talk and see our loved ones clearly? Will phone surfing be so slow as to test our patience? And more important, can we talk to our digitally 'slower' compatriots, still hanging on to 2G phones
If you're detecting some wryness here, that's because 3G has come in for some flak in places where the technology is already in use.
But we're pleased to say that we're happy with our road test.
Early adopters will be thrilled by the speed - up to a theoretical 384Kbps - compared to about 40Kbps available on general packet radio service (GPRS) now.
This is the speed that makes everything possible. It is also what MobileOne and StarHub showed in demos set up specially for Digital Life.
Less confident than SingTel, they did not let us test their services islandwide. Guess for them, 3G is still pretty much a work-in-progress. Still, the services they had looked good.
SingTel
Coverage: Although only two-thirds of the islandwide network is up, coverage is good - even in areas outside the CBD.
Never mind the street-level coverage requirement set by the regulators, SingTel even has the Bedok underground link between the MRT station and town centre covered, judging from 3G calls made there. During a car ride through the CTE tunnel, a live TV stream of Channel News Asia didn't break up at all.
Video calls: Generally watchable, though not as smooth as pre-recorded videos streamed over the network. Pictures tended to be a little pixelated when we watched them on the Sony Ericsson Z1010 phone. Expect some lag too.
Video streaming: Very impressive. Smooth transmission. A live TV stream from Channel News Asia looked like 'real TV'.
Speedy surfing: As good as on a PC connected to broadband. We plugged in a Sony Ericsson Z1010 and downloaded files from the Net at speeds of between 15 and 30KB per second.
MobileOne
Video streaming: Smooth videos, like the other two operators. M1 showed music videos streamed to the phone and they were not jerky like videos on a 2G phone.
Video calls: They can be made from PCs too. What you need is a notebook, a webcam and a special 3G card that is plugged into the PC. With this set-up, we called a 3G user while seated in front of a notebook at the MobileOne office. Not bad, if you are on the road, and your boss wants to meet you -?? just power up your notebook, load the video-conferencing software and you're ready.
Speedy surfing: Fast. At a demo at M1's Jurong office, we downloaded a file from www.download.com at 40KB (that's kilobytes, not kilobits) per second. That means a 2.4MB file takes a minute to download. Considering that a cable modem offers about 15KB per sec to 50KB per sec, depending on how congested the overseas server is, 3G is fast. Or downright speedy if you compare it to a 2.5G, which crawls along at about 4KB per sec. Okay, there's no telling if M1 tweaked the network to produce such speeds. But the result shows what 3G has always promised: high-speed downloads.
StarHub
Video streaming: Live TV is very impressive. StarHub showed a demo of a live CNN stream. The picture was smooth and the sound clear (if you plug in a headset). Think about how much pay TV content StarHub has and it's clear how powerful the phone can become - a TV set on the move.
We also saw a recorded Jay Chou music video, which was encoded at 120Kbps and looked particularly good. A 2G phone would have struggled with unclear pictures.
Video calls: We made phone-to-phone calls on the Motorola A835 phone, which though bulkier, seemed to offer better pictures than the Sony Ericsson Z1010 used by both SingTel and M1.
Speedy surfing: Pretty brisk. We tried downloading a file from www.download.com when we met StarHub in the evening (when the United States servers may be busy), and we managed about 15KB per second.
THE VERDICT
The technology looks good. Operators now have to fine-tune their network coverage.
# Expand coverage: Though they are required to offer 3G to only 95 per cent of the 'street level' access in Singapore, they'd do well to quickly expand their coverage to underground carparks, shopping malls and other public places.
Users won't like to be cut off while travelling down an escalator to a basement food court.
# Seamless handover: It's a pity we could not test the services provided by M1 and StarHub outside the confines of their offices. Because if anything irritates people used to a seamless GSM network, it's kinks like dropped calls and lack of coverage.
Operators have to ensure that calls are handed over from a 3G to a 2G network seamlessly. Or 3G will seem like a downgrade because it can't even let people talk properly!
At least, by rolling out services later than their European counterparts, operators here have learnt some lessons. For one, they know 3G has little time for teething pains: people won't want to spend money on something that is full of bugs.
# Price: Operators will have to decide soon on price -?? will 3G be offered buffet-style like one operator, Hutchison, is offering worldwide? Or will people have to pay for each Real Madrid goal they watch on their phones? Can you mix and match plans as is the case for cellphones now so you won't be paying for features you won't be using
# Bottom line: If 3G is too expensive, users won't be too forgiving about the bugs that are bound to crop up. In fact, if operators can let people try the service for free - it's not commercial grade after all - for as long as possible, people may come to appreciate it more.
Okay, we're geeks and we don't expect everyone to be a 3G convert after reading this. But as it matures, the technology looks like it can be a hit. Just like people laughed at the first mobile phones that looked like bricks, users of 3G phones will look pretty stupid to others. We, however, think it's the height of cool.
Additional reporting by Billy Teo
3G Using is believing
By Alfred Siew
Congratulate us. We got to test out the 3G technology each of the three telcos will be rolling out by the end of the year.
Armed with the (still somewhat bulky) phones, we made video calls to friends, watched live TV on the phones and downloaded files from the Net at broadband speeds. The verdict: It's as fast and as powerful as it has been made out to be.
Even the coverage offered by SingTel, which let us try its service islandwide, surprised us pleasantly.
From Toa Payoh to Bedok, a live TV show streamed flawlessly. When we made calls from an underground tunnel - an expected blindspot for 3G networks - the network didn't stutter and cut us off in the middle of a call.
Our road test is not a scientific signal test, which telcos do with their measurement equipment fitted to land rovers.
We set out to experience what being in a 3G world will be like. Can we really talk and see our loved ones clearly? Will phone surfing be so slow as to test our patience? And more important, can we talk to our digitally 'slower' compatriots, still hanging on to 2G phones
If you're detecting some wryness here, that's because 3G has come in for some flak in places where the technology is already in use.
But we're pleased to say that we're happy with our road test.
Early adopters will be thrilled by the speed - up to a theoretical 384Kbps - compared to about 40Kbps available on general packet radio service (GPRS) now.
This is the speed that makes everything possible. It is also what MobileOne and StarHub showed in demos set up specially for Digital Life.
Less confident than SingTel, they did not let us test their services islandwide. Guess for them, 3G is still pretty much a work-in-progress. Still, the services they had looked good.
SingTel
Coverage: Although only two-thirds of the islandwide network is up, coverage is good - even in areas outside the CBD.
Never mind the street-level coverage requirement set by the regulators, SingTel even has the Bedok underground link between the MRT station and town centre covered, judging from 3G calls made there. During a car ride through the CTE tunnel, a live TV stream of Channel News Asia didn't break up at all.
Video calls: Generally watchable, though not as smooth as pre-recorded videos streamed over the network. Pictures tended to be a little pixelated when we watched them on the Sony Ericsson Z1010 phone. Expect some lag too.
Video streaming: Very impressive. Smooth transmission. A live TV stream from Channel News Asia looked like 'real TV'.
Speedy surfing: As good as on a PC connected to broadband. We plugged in a Sony Ericsson Z1010 and downloaded files from the Net at speeds of between 15 and 30KB per second.
MobileOne
Video streaming: Smooth videos, like the other two operators. M1 showed music videos streamed to the phone and they were not jerky like videos on a 2G phone.
Video calls: They can be made from PCs too. What you need is a notebook, a webcam and a special 3G card that is plugged into the PC. With this set-up, we called a 3G user while seated in front of a notebook at the MobileOne office. Not bad, if you are on the road, and your boss wants to meet you -?? just power up your notebook, load the video-conferencing software and you're ready.
Speedy surfing: Fast. At a demo at M1's Jurong office, we downloaded a file from www.download.com at 40KB (that's kilobytes, not kilobits) per second. That means a 2.4MB file takes a minute to download. Considering that a cable modem offers about 15KB per sec to 50KB per sec, depending on how congested the overseas server is, 3G is fast. Or downright speedy if you compare it to a 2.5G, which crawls along at about 4KB per sec. Okay, there's no telling if M1 tweaked the network to produce such speeds. But the result shows what 3G has always promised: high-speed downloads.
StarHub
Video streaming: Live TV is very impressive. StarHub showed a demo of a live CNN stream. The picture was smooth and the sound clear (if you plug in a headset). Think about how much pay TV content StarHub has and it's clear how powerful the phone can become - a TV set on the move.
We also saw a recorded Jay Chou music video, which was encoded at 120Kbps and looked particularly good. A 2G phone would have struggled with unclear pictures.
Video calls: We made phone-to-phone calls on the Motorola A835 phone, which though bulkier, seemed to offer better pictures than the Sony Ericsson Z1010 used by both SingTel and M1.
Speedy surfing: Pretty brisk. We tried downloading a file from www.download.com when we met StarHub in the evening (when the United States servers may be busy), and we managed about 15KB per second.
THE VERDICT
The technology looks good. Operators now have to fine-tune their network coverage.
# Expand coverage: Though they are required to offer 3G to only 95 per cent of the 'street level' access in Singapore, they'd do well to quickly expand their coverage to underground carparks, shopping malls and other public places.
Users won't like to be cut off while travelling down an escalator to a basement food court.
# Seamless handover: It's a pity we could not test the services provided by M1 and StarHub outside the confines of their offices. Because if anything irritates people used to a seamless GSM network, it's kinks like dropped calls and lack of coverage.
Operators have to ensure that calls are handed over from a 3G to a 2G network seamlessly. Or 3G will seem like a downgrade because it can't even let people talk properly!
At least, by rolling out services later than their European counterparts, operators here have learnt some lessons. For one, they know 3G has little time for teething pains: people won't want to spend money on something that is full of bugs.
# Price: Operators will have to decide soon on price -?? will 3G be offered buffet-style like one operator, Hutchison, is offering worldwide? Or will people have to pay for each Real Madrid goal they watch on their phones? Can you mix and match plans as is the case for cellphones now so you won't be paying for features you won't be using
# Bottom line: If 3G is too expensive, users won't be too forgiving about the bugs that are bound to crop up. In fact, if operators can let people try the service for free - it's not commercial grade after all - for as long as possible, people may come to appreciate it more.
Okay, we're geeks and we don't expect everyone to be a 3G convert after reading this. But as it matures, the technology looks like it can be a hit. Just like people laughed at the first mobile phones that looked like bricks, users of 3G phones will look pretty stupid to others. We, however, think it's the height of cool.
Additional reporting by Billy Teo
Monday, October 25, 2004
[Management]The communication trap
The communication trap
By Shannon T. Kalvar, TechRepublic
Thursday, June 17 2004 9:09 PM
When we honestly reflect, none of us can claim perfection when it comes to dealing with our customers, whether they come from inside our organization or from another one. Despite the lovely myth of "putting it all down at the door," we are all human beings with habits, pressures, concerns, and even the occasional psychological blind spot. Overcoming these problems requires us to face our own motivations and communication methods without accepting the comfort of "it's good enough."
I learned this lesson the hard way, strangely enough, while working on a government contract. It was an advice and consult gig, starting with a review of my client's methodology. At the same time, I coordinated work among three other teams on a larger mail rollout on the other side of the country. Like anyone still breathing, I also tried to juggle all of the concerns of home while traveling and working 80 hours a week.
Having learned a thing or two about how to manage communications streams before, I kept my clients straight this time. However, managing all of the various factors and egos involved with the two assignments began to take its toll on me psychologically. I also entered a bad patch at home, causing challenges in my personal life to become far more stressful than work. Beyond the damage that did to my marriage, it also pushed even more stress into my work.
My interactions with others became brusque. I started to use my influence within the organization to override others' ideas, rather than listening to them. Worse, I began to ignore the lesson I learned a long time ago: Always listen to your own people.
Things went on like this for a month, until it finally came to a head one day at my primary client site. It was in the middle of a meeting, when one of my client's architects made yet another mistake regarding sendmail configuration options. No, in the real world he simply did not understand SMTP or e-mail security. In whatever world I was working in at the time, he was a raving moron who deserved to be dressed down in front of his boss, his boss's boss, and the organization's chief information technology officer.
The gentleman in question immediately retaliated. He had, he claimed, raised this point with me three times over e-mail and once in a conversation. Why did I berate him about it now, when my lack of response indicated clearly that I simply didn't care?
After the meeting, I went back to my desk to seethe a bit. After getting that out of my system, I went back to examine my correspondence. My architect punching bag told the truth—and I needed to get a grip.
My three communication sins
So, after successfully making a jerk out of myself to my client and potentially my team members, I decided to step back and reassess my communications over the previous months. What I saw annoyed me as a person and shocked me as a manager. They boiled down to three basic sins: lack of impact assessment, misuse of influence, and lack of responsiveness.
As managers and leaders, our words carry enormous weight. This weight comes both from our authority over others and from our influence within the organization. It attaches itself to our communications whether we want it to or not; indeed, nothing we say or do can get away from it.
In my case, everyone knew that I had firing authority on the mail rollout and that my recommendations would be used to make firing decisions on the botched project my client called me in to review. One team knew I was angry about something and assumed it was part of their performance. The other one knew I was there to rain fire on them; every time I snapped, they put another rock in their "fear-of-being-fired container."
Fear is both sticky and corrosive; once it seeps into a team relationship, it can take months to clear. My carelessness cost me time, trust, and in the end, my team's best work.
Similarly, I noticed a disturbing trend in my messages. I learned early in my career that I do not always know best. In fact, I often do not. Technology changes, people come at things from different perspectives, and sometimes my team members just flat out know more about something than I do. It became apparent, as I reviewed my communications logs, that this went up as well as down in the team. For the last few weeks, my supervisors had tried to reach out to me. In whatever state I was in, I had reacted by calling in favors from the organization to "keep these people off my back while I took care of the situation." Not only was that an insult to the fine people I worked for, but it also expended an enormous amount of my political capital. And for what purpose? So that I could avoid receiving the help I obviously needed?
This created two problems for me. One, I needed to rebuild the relationships. Two, I needed to understand why I reacted so badly in the first place. Just because I had the ability to ignore their offers to help, and even to deflect them, did not mean I had either the right or, for that matter, the need. Was pride worth that much to me? Or had I fallen into some other sort of trap?
Reading and thinking, I realized something. I had made my work problems a proxy for the problems I faced at home. I did not want help because, on some subconscious level, I felt that if I could solve my problems at work, things would become better at home. When phrased like that, the idea is, naturally, ridiculous. Unfortunately, logical fallacy or not, the feeling it embodied did not go away. Having stated it, though, I could potentially mitigate it.
My third sin of communications, and one I still struggle with today, is what I call "turtling." When I get under enough stress, I huddle down and start working on some personal product (e.g., a report, a new server architecture, or whatever) and ignore my real job: communications. On one level, I say to myself: "If I can get this done, I'll let the person know what is going on and they will be happy to have a product." On another level, the thrill I feel from successfully creating something helps to lift the stress.
Those are both fine statements. Unfortunately, as a manager and a leader, my real job takes place in the realm of communications. In the end, it doesn't matter one way or the other if one of my reports comes in a day late. However, if my team fails to move forward because I decided to spend the day playing with cash flow, I may well lose my company contracts, or my client tens of thousands of dollars.
Moving forward
Recognizing my sins is one thing. Fixing them is another. I wish I could say that I've successfully fixed them all forever, but the truth is that all three still plague me from time to time.
However, I do generally use the following mitigating strategies:
1. Before I communicate with someone, I force myself to review their current status and our relative positions. For most relationships, this takes no more than five seconds. It allows me to gauge the impact of my statements based on our relative positions and authority, and makes me conscious of my communications patterns.
2. When I receive a communication requesting information or containing a suggestion, I first allow myself to feel whatever emotion it generates. Then, after a minute or three, I consider what the other person really wants. If I am not clear, or I think my own emotional response prevents me from being clear, I either ask for clarification or begin to use reflective listening.
3. I include communications tasks on my list of things to do. In fact, my planner typically has more communications tasks than production tasks on any given day. This psychological trick allows me to treat communications as just another task and derive satisfaction from removing them from the list of things to do.
These actions do slow down my communications. Frankly, I'm proud of that. In today's business world, we often mistake speed for clarity and responsiveness for understanding.
So what "sins of communication" do you suffer from, and how do you deal with them?
By Shannon T. Kalvar, TechRepublic
Thursday, June 17 2004 9:09 PM
When we honestly reflect, none of us can claim perfection when it comes to dealing with our customers, whether they come from inside our organization or from another one. Despite the lovely myth of "putting it all down at the door," we are all human beings with habits, pressures, concerns, and even the occasional psychological blind spot. Overcoming these problems requires us to face our own motivations and communication methods without accepting the comfort of "it's good enough."
I learned this lesson the hard way, strangely enough, while working on a government contract. It was an advice and consult gig, starting with a review of my client's methodology. At the same time, I coordinated work among three other teams on a larger mail rollout on the other side of the country. Like anyone still breathing, I also tried to juggle all of the concerns of home while traveling and working 80 hours a week.
Having learned a thing or two about how to manage communications streams before, I kept my clients straight this time. However, managing all of the various factors and egos involved with the two assignments began to take its toll on me psychologically. I also entered a bad patch at home, causing challenges in my personal life to become far more stressful than work. Beyond the damage that did to my marriage, it also pushed even more stress into my work.
My interactions with others became brusque. I started to use my influence within the organization to override others' ideas, rather than listening to them. Worse, I began to ignore the lesson I learned a long time ago: Always listen to your own people.
Things went on like this for a month, until it finally came to a head one day at my primary client site. It was in the middle of a meeting, when one of my client's architects made yet another mistake regarding sendmail configuration options. No, in the real world he simply did not understand SMTP or e-mail security. In whatever world I was working in at the time, he was a raving moron who deserved to be dressed down in front of his boss, his boss's boss, and the organization's chief information technology officer.
The gentleman in question immediately retaliated. He had, he claimed, raised this point with me three times over e-mail and once in a conversation. Why did I berate him about it now, when my lack of response indicated clearly that I simply didn't care?
After the meeting, I went back to my desk to seethe a bit. After getting that out of my system, I went back to examine my correspondence. My architect punching bag told the truth—and I needed to get a grip.
My three communication sins
So, after successfully making a jerk out of myself to my client and potentially my team members, I decided to step back and reassess my communications over the previous months. What I saw annoyed me as a person and shocked me as a manager. They boiled down to three basic sins: lack of impact assessment, misuse of influence, and lack of responsiveness.
As managers and leaders, our words carry enormous weight. This weight comes both from our authority over others and from our influence within the organization. It attaches itself to our communications whether we want it to or not; indeed, nothing we say or do can get away from it.
In my case, everyone knew that I had firing authority on the mail rollout and that my recommendations would be used to make firing decisions on the botched project my client called me in to review. One team knew I was angry about something and assumed it was part of their performance. The other one knew I was there to rain fire on them; every time I snapped, they put another rock in their "fear-of-being-fired container."
Fear is both sticky and corrosive; once it seeps into a team relationship, it can take months to clear. My carelessness cost me time, trust, and in the end, my team's best work.
Similarly, I noticed a disturbing trend in my messages. I learned early in my career that I do not always know best. In fact, I often do not. Technology changes, people come at things from different perspectives, and sometimes my team members just flat out know more about something than I do. It became apparent, as I reviewed my communications logs, that this went up as well as down in the team. For the last few weeks, my supervisors had tried to reach out to me. In whatever state I was in, I had reacted by calling in favors from the organization to "keep these people off my back while I took care of the situation." Not only was that an insult to the fine people I worked for, but it also expended an enormous amount of my political capital. And for what purpose? So that I could avoid receiving the help I obviously needed?
This created two problems for me. One, I needed to rebuild the relationships. Two, I needed to understand why I reacted so badly in the first place. Just because I had the ability to ignore their offers to help, and even to deflect them, did not mean I had either the right or, for that matter, the need. Was pride worth that much to me? Or had I fallen into some other sort of trap?
Reading and thinking, I realized something. I had made my work problems a proxy for the problems I faced at home. I did not want help because, on some subconscious level, I felt that if I could solve my problems at work, things would become better at home. When phrased like that, the idea is, naturally, ridiculous. Unfortunately, logical fallacy or not, the feeling it embodied did not go away. Having stated it, though, I could potentially mitigate it.
My third sin of communications, and one I still struggle with today, is what I call "turtling." When I get under enough stress, I huddle down and start working on some personal product (e.g., a report, a new server architecture, or whatever) and ignore my real job: communications. On one level, I say to myself: "If I can get this done, I'll let the person know what is going on and they will be happy to have a product." On another level, the thrill I feel from successfully creating something helps to lift the stress.
Those are both fine statements. Unfortunately, as a manager and a leader, my real job takes place in the realm of communications. In the end, it doesn't matter one way or the other if one of my reports comes in a day late. However, if my team fails to move forward because I decided to spend the day playing with cash flow, I may well lose my company contracts, or my client tens of thousands of dollars.
Moving forward
Recognizing my sins is one thing. Fixing them is another. I wish I could say that I've successfully fixed them all forever, but the truth is that all three still plague me from time to time.
However, I do generally use the following mitigating strategies:
1. Before I communicate with someone, I force myself to review their current status and our relative positions. For most relationships, this takes no more than five seconds. It allows me to gauge the impact of my statements based on our relative positions and authority, and makes me conscious of my communications patterns.
2. When I receive a communication requesting information or containing a suggestion, I first allow myself to feel whatever emotion it generates. Then, after a minute or three, I consider what the other person really wants. If I am not clear, or I think my own emotional response prevents me from being clear, I either ask for clarification or begin to use reflective listening.
3. I include communications tasks on my list of things to do. In fact, my planner typically has more communications tasks than production tasks on any given day. This psychological trick allows me to treat communications as just another task and derive satisfaction from removing them from the list of things to do.
These actions do slow down my communications. Frankly, I'm proud of that. In today's business world, we often mistake speed for clarity and responsiveness for understanding.
So what "sins of communication" do you suffer from, and how do you deal with them?
Back up your system with Mondo
Backing up your system is extremely important, but having usable backups is even more vital. If your server or workstation has a hardware failure and you need to reconstruct the machine, restoring from homegrown backup solutions can be painful and time-consuming.
A solution called Mondo can help alleviate some of this pain. It creates a full system backup of your machine in any form you like, including direct to CD, ISO images, etc.
When you burn these ISO images to CD, they become bootable restore CDs. If you have a problem with your system, you can simply insert the first CD of the backup set, boot from it, and you'll have a variety of options for how to restore your data.
With Mondo, instead of reinstalling the OS and then applying backup files on top of it to reconstruct your previous system, you can take the snapshot you have on CD and build the system back to where it was when you performed the backup.
Using Mondo is also very straightforward. Here's a simple way to use it:
# mondoarchive -Oi -d /home/mondo -E "/home/mondo" -l LILO -f /dev/hda
This tells Mondo to perform a full backup of the file system to ISO images and to place the resulting images in the /home/mondo directory. The -E option tells Mondo to exclude /home/mondo from the backup, which prevents backups from growing larger than necessary by backing up old backups. Finally, it tells Mondo you're using LILO as your bootloader and that the bootloader is on /dev/hda.
After Mondo creates the ISOs, you'll have a set of ISO images in /home/mondo that are ready to burn to CD. Be aware, however, that you'll need plenty of room to store the ISO images, depending largely on the size of your system.
For more information, check out the Mondo home page.
Backing up your system is extremely important, but having usable backups is even more vital. If your server or workstation has a hardware failure and you need to reconstruct the machine, restoring from homegrown backup solutions can be painful and time-consuming.
A solution called Mondo can help alleviate some of this pain. It creates a full system backup of your machine in any form you like, including direct to CD, ISO images, etc.
When you burn these ISO images to CD, they become bootable restore CDs. If you have a problem with your system, you can simply insert the first CD of the backup set, boot from it, and you'll have a variety of options for how to restore your data.
With Mondo, instead of reinstalling the OS and then applying backup files on top of it to reconstruct your previous system, you can take the snapshot you have on CD and build the system back to where it was when you performed the backup.
Using Mondo is also very straightforward. Here's a simple way to use it:
# mondoarchive -Oi -d /home/mondo -E "/home/mondo" -l LILO -f /dev/hda
This tells Mondo to perform a full backup of the file system to ISO images and to place the resulting images in the /home/mondo directory. The -E option tells Mondo to exclude /home/mondo from the backup, which prevents backups from growing larger than necessary by backing up old backups. Finally, it tells Mondo you're using LILO as your bootloader and that the bootloader is on /dev/hda.
After Mondo creates the ISOs, you'll have a set of ISO images in /home/mondo that are ready to burn to CD. Be aware, however, that you'll need plenty of room to store the ISO images, depending largely on the size of your system.
For more information, check out the Mondo home page.
Saturday, October 23, 2004
Telecom Asia: Broadband: does it matter?
lq103 sent you this Telecom Asia link:
Message:
*** Broadband: does it matter? ***
http://www.telecomasia.net/telecomasia/content/contentDetail.jsp?id=126985
Korea certainly deserves some bragging rights as the top broadband market in Asia. What?s less clear is how much credit goes to good commercial decisions, how much goes to government leadership, and how much broadband really matters
________________________________________________________________
This information comes to you courtesy of TelecomAsia.net
Message:
*** Broadband: does it matter? ***
http://www.telecomasia.net/telecomasia/content/contentDetail.jsp?id=126985
Korea certainly deserves some bragging rights as the top broadband market in Asia. What?s less clear is how much credit goes to good commercial decisions, how much goes to government leadership, and how much broadband really matters
________________________________________________________________
This information comes to you courtesy of TelecomAsia.net
[MANAGEMENT]Forecasting failure
Forecasting failure
Telecom Asia October 2004
The old joke that God created economists to make weather forecasters feel good, misses the fact that technology gurus were later designed to boost the egos of everyone. Technologists tend to believe that their strictly-bounded ITC world always drives progress, rather than following society’s needs.
This fueled the irrational euphoria of the dot-com boom and fired the fiasco of Y2k – both also driven by media hype and greed. Another contributing factor was our sloppy use of terminology: the English language has never managed to clarify terms relating to future knowledge or distinguish between different biases and different approaches.
The word “foretelling”, for instance, should be limited to the intuitive faculty that gypsies demonstrate with crystal balls. It claims to reveal glimpses of perfect “foresight”.
However, “forecasting” is (or should be) a logical process, involving extrapolation from existing facts and trends for a limited period of time.
Forecasting should carry a time scale, and a range of potential statistical error. Foretelling claims to be absolute.
The American economist, Richard Thaler, has noted five biases that influenced forecasting, and his listing is worth examining in the light of repeated failures in most ITC areas to provide useful guidance.
1. Over-confidence:
About 90% of car drivers believe they are above average in driving ability; yet we know that only half are. But, even when you explain this logical anomaly to a large group, it’s entirely unlikely that anyone will re-evaluate his/her own driving ability.
Over-confidence, Thaler says, induces people to make forecasts that are bolder than they should be. There’s an age-difference here also – young people tend to be more over-confident.
2. Optimism:
Of course optimism is built into government statistical forecasts as a matter of course, as it is in businesses promoting the size of markets or the social and economic benefits of technological developments.
But even with private-sector forecasting, companies or trade organizations invariably show a high degree of wishful thinking.
There’s an old adage: “To the man with a hammer, every problem looks like a nail,” and this seems to fit rather well here also. People tend to make their judgment of the problems effecting the future in terms of the solutions they are able to offer.
In your area of expertise, you will usually forecast more optimistically than most and have higher levels of confidence in your judgment. The corollary (which Thaler didn’t touch on) is that you’ll also tend to down-value the solutions offered by others.
3. False consensus:
This factor was more responsible for the Y2K problems and the tech-wreck than all others combined.
When computers first appeared on desktops, two types of office workers immediately reaped benefits: accountants with their calculating spreadsheets and journalists who were suddenly able to make last minute changes to copy.
Journalists could see no need for a printer if keystrokes could be electronically injected into the photo typesetter, and they enthusiastically promoted their new toys in the media. This led directly to the 1975 Business Week prediction of the paperless office – a fallacy that lasted 25 years.
And, since accountants held the company purse-strings, computer sales took off because they also exaggerated the (then) commercial value of PCs to everyone.
4. Curse of knowledge:
Thaler’s point here is that we take for granted what we already know, and we can’t imagine that others don’t think the same way. This differs from false consensus because it colors the background of our thinking (our ability to judge) rather than the foreground.
Through nature and nurture, every person’s problem-solving faculties have evolved in different ways, yet we assume that any logical person should see what we see.
5. Status quo resistance:
This simply means what it says. Most people are resistant to change – even those at the leading edge who aspire to be fashion leaders. People are only willing to accept radical change to a limited degree – and then only in limited areas in their lives.
Stewart Fist (fist@ozemail.com.au) is an Australia-based, award-winning journalist and columnist, and author of The Informatics Handbook
Telecom Asia October 2004
The old joke that God created economists to make weather forecasters feel good, misses the fact that technology gurus were later designed to boost the egos of everyone. Technologists tend to believe that their strictly-bounded ITC world always drives progress, rather than following society’s needs.
This fueled the irrational euphoria of the dot-com boom and fired the fiasco of Y2k – both also driven by media hype and greed. Another contributing factor was our sloppy use of terminology: the English language has never managed to clarify terms relating to future knowledge or distinguish between different biases and different approaches.
The word “foretelling”, for instance, should be limited to the intuitive faculty that gypsies demonstrate with crystal balls. It claims to reveal glimpses of perfect “foresight”.
However, “forecasting” is (or should be) a logical process, involving extrapolation from existing facts and trends for a limited period of time.
Forecasting should carry a time scale, and a range of potential statistical error. Foretelling claims to be absolute.
The American economist, Richard Thaler, has noted five biases that influenced forecasting, and his listing is worth examining in the light of repeated failures in most ITC areas to provide useful guidance.
1. Over-confidence:
About 90% of car drivers believe they are above average in driving ability; yet we know that only half are. But, even when you explain this logical anomaly to a large group, it’s entirely unlikely that anyone will re-evaluate his/her own driving ability.
Over-confidence, Thaler says, induces people to make forecasts that are bolder than they should be. There’s an age-difference here also – young people tend to be more over-confident.
2. Optimism:
Of course optimism is built into government statistical forecasts as a matter of course, as it is in businesses promoting the size of markets or the social and economic benefits of technological developments.
But even with private-sector forecasting, companies or trade organizations invariably show a high degree of wishful thinking.
There’s an old adage: “To the man with a hammer, every problem looks like a nail,” and this seems to fit rather well here also. People tend to make their judgment of the problems effecting the future in terms of the solutions they are able to offer.
In your area of expertise, you will usually forecast more optimistically than most and have higher levels of confidence in your judgment. The corollary (which Thaler didn’t touch on) is that you’ll also tend to down-value the solutions offered by others.
3. False consensus:
This factor was more responsible for the Y2K problems and the tech-wreck than all others combined.
When computers first appeared on desktops, two types of office workers immediately reaped benefits: accountants with their calculating spreadsheets and journalists who were suddenly able to make last minute changes to copy.
Journalists could see no need for a printer if keystrokes could be electronically injected into the photo typesetter, and they enthusiastically promoted their new toys in the media. This led directly to the 1975 Business Week prediction of the paperless office – a fallacy that lasted 25 years.
And, since accountants held the company purse-strings, computer sales took off because they also exaggerated the (then) commercial value of PCs to everyone.
4. Curse of knowledge:
Thaler’s point here is that we take for granted what we already know, and we can’t imagine that others don’t think the same way. This differs from false consensus because it colors the background of our thinking (our ability to judge) rather than the foreground.
Through nature and nurture, every person’s problem-solving faculties have evolved in different ways, yet we assume that any logical person should see what we see.
5. Status quo resistance:
This simply means what it says. Most people are resistant to change – even those at the leading edge who aspire to be fashion leaders. People are only willing to accept radical change to a limited degree – and then only in limited areas in their lives.
Stewart Fist (fist@ozemail.com.au) is an Australia-based, award-winning journalist and columnist, and author of The Informatics Handbook
Friday, October 22, 2004
The 10 don'ts of corporate reporting
Enterprise : Management : Article
The 10 don'ts of corporate reporting
By Jonah Stephen, Special to CNETAsia
Thursday, August 26 2004 2:33 PM
Editor's note: This is the final in a series of three features on corporate reporting. Check out the first and second instalments.
Reporting processes ensure that IT departments and IT vendors deliver information on demand, or as scheduled, to all stakeholders in an enterprise.
Here are ten common mistakes and what you can do to avoid making them:
1. Don't assume stakeholder commitment
It's important that the stakeholders who utilize reports are consulted on how reporting processes are designed and implemented. Not involving them in planning and implementation could lead to a poor outcome.
This can create a lack of involvement on their part, in subsequent stages of the project. At worst it could result in delivering excessive or inadequate information. Not involving them during the building process is acceptable if they are consulted in the roll-out of the reporting process. Failing to offer them previews on the roll-out could affect acceptability of the reporting process.
Hence, milestone-based stakeholder reviews of the project are very important to ensure a project's success.
2. Don't ignore prototyping
Today's modern tools are very friendly in terms of initial development for prototyping, which makes it tempting to create a good reporting process and roll-it-out without prototyping.
Prototyping should be used to test the rigors of process implementation for information quality and application scalability. A medium to complex scenario(s) is recommended for building the prototype. The prototype needs to address data collection-interface to heterogeneous data sources, data processing, information publication and subscription, information security, application scalability and flexibility.
Moreover, prototyping helps you present with newer forms of presentation such as Dashboard, Visualization and Scorecards.
Hand-in-hand with prototyping is the need for evaluation metrics. Here are key metrics to consider:
* Process cycle time for each user group
* Number of human interfaces required to execute the process
* Repeatability of the process in unit- or real-time
* Usability
* Scalability
* Consistency of the output across different publishing formats
* Flexibility to enhance or add new processes
3. Don't be rigid
Think of how you can loosely couple the applications. Do not hard wire. Allow room to change and grow.
4. Don't be fixated on tools
Reporting processes need to be implemented using robust, cutting-edge tools and technology. Choose a development platform that will help you evolve, grow and change your business needs. The tools you choose must dictated by your needs in report-authoring and management, and not the other way around.
5. Don't be a reporting hog
Share the responsibility of providing information with the reports information input providers. These are typically line-of-business (LOB) heads, region or unit heads. Enable self-service for regular and on-demand information needs of the users; it will help free up IT resources. Publish report management policies along with the reports. Include the owner, as well as escalation or support contacts.
6. Don't expect ERP to do all
Enterprise resource planning (ERP) or LOB applications are utilized to automate business processes and improve efficiency. ERP's reporting is designed to report information in direct fashion, such as from say the origination of an order to its shipment.
Keep in mind, however, that your ERP and its reporting system are not designed to report using historical information or information prior to an order entry. Nor the post shipment/delivery, which covers competition, partners and vendors. So attempting to build comprehensive enterprise reporting using the ERP reporting system can be ultimately limiting.
7. Don't ignore user-friendliness
Usability can be your carrot to encourage users to adopt a new reporting system. Do not assume that your users can digest, or even tolerate, information in whatever form you provide. Users need information in many forms for consumption depending on their role in the organization.
Customize. Offer good visualization to executives, interaction and data richness to power users and simple browsing for the ordinary users.
8. Don't keep adding new reports
Or risk information overload and management mess. Before you create a new report, explore the possibility of customizing or reusing an old report. Be warned that as the number of reports increase, versioning and operational management--which includes security, logging and monitoring--will also increase.
To simplify, increase interactivity through filters, parameters, or links to other reports. The best way to address a growing demand for new reports is to periodically review the reporting process and make changes where appropriate .
9. Don't share reporting application resources
Reporting applications that implement the reporting process are ever growing and constantly changing. These applications tend to eat away all the resources that are shared, such as those set aside for development, support and maintenance.
Installing the reporting application in a separate server, and monitoring the application and its infrastructure will ensure that the resources are well managed.
10. Don't be complacent
Ah, the satisfaction of doing a good job! But in corporate reporting, there is no time to rest on laurels.
Reporting needs to continuously evolve in accordance with demand from businesses, regulations, user profiles and technologies. You should work towards having a reporting process good enough to trigger business process changes. For that to happen, make sure your reporting process can react to your business processes.
And establish a routine for periodic review of your reporting process. The review should focus on reducing process time by eliminating human interventions. It should be aimed at increasing information quality. It should also evaluate tools and technology.
Remember, it all boils down to one guiding principle: Keep the reporting process simple to understand and consume.
Jonah Stephen, a database and business intelligence veteran with more than 14 years industry experience, is the solution architect at Microsoft Corporation. Jonah has implemented multiple projects on BI and data warehousing for customers like Citibank and Frito-Lay.
The 10 don'ts of corporate reporting
By Jonah Stephen, Special to CNETAsia
Thursday, August 26 2004 2:33 PM
Editor's note: This is the final in a series of three features on corporate reporting. Check out the first and second instalments.
Reporting processes ensure that IT departments and IT vendors deliver information on demand, or as scheduled, to all stakeholders in an enterprise.
Here are ten common mistakes and what you can do to avoid making them:
1. Don't assume stakeholder commitment
It's important that the stakeholders who utilize reports are consulted on how reporting processes are designed and implemented. Not involving them in planning and implementation could lead to a poor outcome.
This can create a lack of involvement on their part, in subsequent stages of the project. At worst it could result in delivering excessive or inadequate information. Not involving them during the building process is acceptable if they are consulted in the roll-out of the reporting process. Failing to offer them previews on the roll-out could affect acceptability of the reporting process.
Hence, milestone-based stakeholder reviews of the project are very important to ensure a project's success.
2. Don't ignore prototyping
Today's modern tools are very friendly in terms of initial development for prototyping, which makes it tempting to create a good reporting process and roll-it-out without prototyping.
Prototyping should be used to test the rigors of process implementation for information quality and application scalability. A medium to complex scenario(s) is recommended for building the prototype. The prototype needs to address data collection-interface to heterogeneous data sources, data processing, information publication and subscription, information security, application scalability and flexibility.
Moreover, prototyping helps you present with newer forms of presentation such as Dashboard, Visualization and Scorecards.
Hand-in-hand with prototyping is the need for evaluation metrics. Here are key metrics to consider:
* Process cycle time for each user group
* Number of human interfaces required to execute the process
* Repeatability of the process in unit- or real-time
* Usability
* Scalability
* Consistency of the output across different publishing formats
* Flexibility to enhance or add new processes
3. Don't be rigid
Think of how you can loosely couple the applications. Do not hard wire. Allow room to change and grow.
4. Don't be fixated on tools
Reporting processes need to be implemented using robust, cutting-edge tools and technology. Choose a development platform that will help you evolve, grow and change your business needs. The tools you choose must dictated by your needs in report-authoring and management, and not the other way around.
5. Don't be a reporting hog
Share the responsibility of providing information with the reports information input providers. These are typically line-of-business (LOB) heads, region or unit heads. Enable self-service for regular and on-demand information needs of the users; it will help free up IT resources. Publish report management policies along with the reports. Include the owner, as well as escalation or support contacts.
6. Don't expect ERP to do all
Enterprise resource planning (ERP) or LOB applications are utilized to automate business processes and improve efficiency. ERP's reporting is designed to report information in direct fashion, such as from say the origination of an order to its shipment.
Keep in mind, however, that your ERP and its reporting system are not designed to report using historical information or information prior to an order entry. Nor the post shipment/delivery, which covers competition, partners and vendors. So attempting to build comprehensive enterprise reporting using the ERP reporting system can be ultimately limiting.
7. Don't ignore user-friendliness
Usability can be your carrot to encourage users to adopt a new reporting system. Do not assume that your users can digest, or even tolerate, information in whatever form you provide. Users need information in many forms for consumption depending on their role in the organization.
Customize. Offer good visualization to executives, interaction and data richness to power users and simple browsing for the ordinary users.
8. Don't keep adding new reports
Or risk information overload and management mess. Before you create a new report, explore the possibility of customizing or reusing an old report. Be warned that as the number of reports increase, versioning and operational management--which includes security, logging and monitoring--will also increase.
To simplify, increase interactivity through filters, parameters, or links to other reports. The best way to address a growing demand for new reports is to periodically review the reporting process and make changes where appropriate .
9. Don't share reporting application resources
Reporting applications that implement the reporting process are ever growing and constantly changing. These applications tend to eat away all the resources that are shared, such as those set aside for development, support and maintenance.
Installing the reporting application in a separate server, and monitoring the application and its infrastructure will ensure that the resources are well managed.
10. Don't be complacent
Ah, the satisfaction of doing a good job! But in corporate reporting, there is no time to rest on laurels.
Reporting needs to continuously evolve in accordance with demand from businesses, regulations, user profiles and technologies. You should work towards having a reporting process good enough to trigger business process changes. For that to happen, make sure your reporting process can react to your business processes.
And establish a routine for periodic review of your reporting process. The review should focus on reducing process time by eliminating human interventions. It should be aimed at increasing information quality. It should also evaluate tools and technology.
Remember, it all boils down to one guiding principle: Keep the reporting process simple to understand and consume.
Jonah Stephen, a database and business intelligence veteran with more than 14 years industry experience, is the solution architect at Microsoft Corporation. Jonah has implemented multiple projects on BI and data warehousing for customers like Citibank and Frito-Lay.
Thursday, October 21, 2004
麦当劳将在中国全面启动特许经营
将在中国全面启动特许经营
普通人也能经营麦当劳
(上海综合讯)麦当劳将在中国全面启动特许经营,具备一定的资金实力,经过严格的挑选与培训,普通人也能获得一家麦当劳餐厅的经营权。
据新华社报道,麦当劳全球特许经营副总裁詹姆斯库尔玛日前称,这家世界著名餐饮连锁企业将改变10多年来在中国一直以直接投资为主的经营模式,把特许经营作为未来发展的重点。
詹姆斯库尔玛是在上海出席“中外特许经营高峰论坛”时透露这一信息的。
由于成本低、效率高,特许经营被许多跨国公司视为首选的商业扩张模式之一。詹姆斯库尔玛表示,未来几年内,麦当劳将在中国重点推动特许经营,以此适应不同地区的市场特点,加快其在中小城市的发展速度。
特许经营者将被允许使用麦当劳的商标,共享麦当劳的供应体系,并从餐厅经营中获得利润,而麦当劳则通过向特许经营人收取其营业额的一定比例作为加盟费而获利。
经营者只能是个人
然而,个人想要加盟、开设麦当劳餐厅并不是一件容易的事。据了解,根据麦当劳的要求,特许经营者的范围将被严格限定为个人,而非公司企业。申请者必须具备250万元至320万元人民币(65万9200新元)的资金实力,必须居住在所开设餐厅的社区中,而且还要接受16至18个月的专门培训和一系列面试。
有管理团队和雄厚资金的公司也可申请成为麦当劳区域特许经营总代理。
据詹姆斯库尔玛介绍,2003年,麦当劳在天津发展了第一家带有试点性质的特许经营餐厅,目前运营状况良好。在此基础上,麦当劳将在多个城市全面启动特许经营,挑选、培训特许经营者。
自1990年开出第一家餐厅,目前麦当劳在大陆开设的连锁餐厅总数已经超过600家。这些餐厅的经营模式主要有3种:麦当劳与当地合作伙伴双方各占50%股份的合资经营模式。如北京、上海、广州;合同式的合资形式;独资。
麦当劳计划在2005年共开出100家餐厅,到2006年6月,在中国大陆开出10家左右特许加盟连锁店,到2008年,在大陆地区要使麦当劳餐厅数达到1000家,其中特许加盟连锁的目标是20%。
不过也有业内人士认为,尽管麦当劳和肯德基都在中国大陆推出特许经营模式,但作为投资者仍需谨慎考虑。
“尽管可以享受它们成熟的品牌和管理模式,但同时也要考虑进入的门槛和漫长的回报期,而且一家门店还至少需要投入200万至300万元人民币的流动资金,这是大多数资金并不雄厚的投资者所无法接受的。”
另据法新社报道,荷兰的快递和物流公司TNT也表示要在中国开展特许经营,该公司最早将在明天春天在中国设立第一家特许经营公司。
普通人也能经营麦当劳
(上海综合讯)麦当劳将在中国全面启动特许经营,具备一定的资金实力,经过严格的挑选与培训,普通人也能获得一家麦当劳餐厅的经营权。
据新华社报道,麦当劳全球特许经营副总裁詹姆斯库尔玛日前称,这家世界著名餐饮连锁企业将改变10多年来在中国一直以直接投资为主的经营模式,把特许经营作为未来发展的重点。
詹姆斯库尔玛是在上海出席“中外特许经营高峰论坛”时透露这一信息的。
由于成本低、效率高,特许经营被许多跨国公司视为首选的商业扩张模式之一。詹姆斯库尔玛表示,未来几年内,麦当劳将在中国重点推动特许经营,以此适应不同地区的市场特点,加快其在中小城市的发展速度。
特许经营者将被允许使用麦当劳的商标,共享麦当劳的供应体系,并从餐厅经营中获得利润,而麦当劳则通过向特许经营人收取其营业额的一定比例作为加盟费而获利。
经营者只能是个人
然而,个人想要加盟、开设麦当劳餐厅并不是一件容易的事。据了解,根据麦当劳的要求,特许经营者的范围将被严格限定为个人,而非公司企业。申请者必须具备250万元至320万元人民币(65万9200新元)的资金实力,必须居住在所开设餐厅的社区中,而且还要接受16至18个月的专门培训和一系列面试。
有管理团队和雄厚资金的公司也可申请成为麦当劳区域特许经营总代理。
据詹姆斯库尔玛介绍,2003年,麦当劳在天津发展了第一家带有试点性质的特许经营餐厅,目前运营状况良好。在此基础上,麦当劳将在多个城市全面启动特许经营,挑选、培训特许经营者。
自1990年开出第一家餐厅,目前麦当劳在大陆开设的连锁餐厅总数已经超过600家。这些餐厅的经营模式主要有3种:麦当劳与当地合作伙伴双方各占50%股份的合资经营模式。如北京、上海、广州;合同式的合资形式;独资。
麦当劳计划在2005年共开出100家餐厅,到2006年6月,在中国大陆开出10家左右特许加盟连锁店,到2008年,在大陆地区要使麦当劳餐厅数达到1000家,其中特许加盟连锁的目标是20%。
不过也有业内人士认为,尽管麦当劳和肯德基都在中国大陆推出特许经营模式,但作为投资者仍需谨慎考虑。
“尽管可以享受它们成熟的品牌和管理模式,但同时也要考虑进入的门槛和漫长的回报期,而且一家门店还至少需要投入200万至300万元人民币的流动资金,这是大多数资金并不雄厚的投资者所无法接受的。”
另据法新社报道,荷兰的快递和物流公司TNT也表示要在中国开展特许经营,该公司最早将在明天春天在中国设立第一家特许经营公司。
本地中小企业组织管理很专业
本地中小企业
组织管理很专业
新加坡管理学院(SIM)的调查显示,本地中小型企业的组织和管理作业方式相当专业,在解决问题方面更是积极主动。
该学院从去年3月到今年8月,向本地中小型企业展开调查,了解它们的专业水平。调查分为四个部分进行,即策划、组织、指导和控制。
调查发现,中小型企业在管理及控制销售目标、产值素质和预防欺骗行为的作业方式杰出。
不过,它们比较不重视通过预算来控制营运开销、也不太注重装置完善系统以管理信息流量。中小型企业也比较不在乎职员在工作以外的行为。
在策划方面,调查发现,中小型企业一般上注意外在环境的发展,从而制定具有竞争力的目标。它们也严守组织的决策流程和指挥。
中小型企业领袖也能够向职员传达公司的整体宗旨。他们多数通过奖赏良好表现来鼓励职员,并且非常重视职员的培训。
不过,新加坡管理学院认为中小型企业在12个领域有待改进,包括为公司拟定紧急计划,让中下层经理参与策划以增强职员的士气,借助资讯科技来增强竞争力。
该学院也认为,中小型企业在对外集资方面应当更能随机应变,例如通过上市或创业资本来扩充业务。中小型企业对错误和未知数的容忍程度也应当提高,以推动更具有创意的企业文化。
组织管理很专业
新加坡管理学院(SIM)的调查显示,本地中小型企业的组织和管理作业方式相当专业,在解决问题方面更是积极主动。
该学院从去年3月到今年8月,向本地中小型企业展开调查,了解它们的专业水平。调查分为四个部分进行,即策划、组织、指导和控制。
调查发现,中小型企业在管理及控制销售目标、产值素质和预防欺骗行为的作业方式杰出。
不过,它们比较不重视通过预算来控制营运开销、也不太注重装置完善系统以管理信息流量。中小型企业也比较不在乎职员在工作以外的行为。
在策划方面,调查发现,中小型企业一般上注意外在环境的发展,从而制定具有竞争力的目标。它们也严守组织的决策流程和指挥。
中小型企业领袖也能够向职员传达公司的整体宗旨。他们多数通过奖赏良好表现来鼓励职员,并且非常重视职员的培训。
不过,新加坡管理学院认为中小型企业在12个领域有待改进,包括为公司拟定紧急计划,让中下层经理参与策划以增强职员的士气,借助资讯科技来增强竞争力。
该学院也认为,中小型企业在对外集资方面应当更能随机应变,例如通过上市或创业资本来扩充业务。中小型企业对错误和未知数的容忍程度也应当提高,以推动更具有创意的企业文化。
Wednesday, October 20, 2004
Open source vs commercial apps: the differences that matter
Enterprise : Infrastructure : Article
Open source vs commercial apps: the differences that matter
By Goh Seow Hiong, Special to CNETAsia
Wednesday, October 6 2004 2:01 PM
Editor's note: This is the first of a two-part feature on software policy. Part one examines the license model differences between open source and commercial software. Next week's instalment will dwell on issues related to cost, security, flexibility and interoperability of each software models.
The open-source movement has been one of the most dramatic changes to impact the software industry in recent memory.
Few technical subject matters today are as passionately debated as that of the controversy surrounding open-source and commercial software--two prominent models of software licensing and development. Amidst their differences relating to cost benefits, there are, in fact, a number of commonalities and similarities that are often overlooked in this debate.
Policy issues surrounding commercial and open-source software have also gripped government bodies around the world. In Asia Pacific, open source is often seen as a viable solution, especially for developing nations.
To help decision makers discern the facts in this debate, let's look at the key considerations in this area and how appropriate software policy decisions should be made.
Comparing the two models
For the purposes of our discussion below, we will refer to the terms as follows:
* Open source refers to a software licensing model where the source code of the software is typically made available royalty-free to its users, under terms allowing redistribution, modification and addition, though often with certain restrictions.
Open-source programs are often, though not exclusively, developed through a collaborative effort in which a number of persons, often with no formal association with each other, contribute elements of the final software. Increasingly, software companies are also contributing programs developed in-house to the open source community.
* Commercial software refers to the model where the software developed by a commercial entity is typically sold or licensed to a customer in object or executable code, either directly or through channels. The commercial entity often provides support, training, updates and other similar services needed by customers to use that software.
The source code of the software may be made available to certain users of the software through special licensing or other agreements, but is usually not distributed to the general public, and may not be copied or modified except in a manner provided for in such agreements.
It should be recognized that each of these models can translate into a viable business strategy for companies in the software industry. The models are not mutually exclusive, and companies are increasingly finding ways to embrace both approaches, and allowing both to co-exist.
For example, there have been instances where proprietary operating system platforms that have benefited from the open-source development by adopting an open source approach for the lower levels of the system (e.g. device drivers) while keeping the higher levels proprietary (e.g. user interface).
This approach allows greater focus to be placed at development of the higher level components, where innovation may bring greater benefits to customers.
Conversely, there are software providers who have contributed commercially developed code to the open source community to allow open source solutions to operate on a broader range of platforms. Increased competition and a larger number of viable alternatives between products on the server and desktop platforms have brought about a significant push for both open source and commercial software solutions to become more innovative, and for software providers to focus and improve substantially on emerging issues like security and reliability.
Licensing Approaches
One main underlying difference between both models lies with the approach towards licensing adopted by each model.
It is necessary to understand these licensing approaches to fully appreciate the fundamental starting points of the models and to discern the validity and weight of any particular argument for or against either software model.
Commercial software providers typically adopt the traditional software licensing approach where permission to use the software is granted to a customer in return for a fee. The customer is usually permitted to use, reproduce or adapt the software according to the terms of the permitted activities under the license.
While open source software is made available under a variety of approaches in licensing, these approaches have certain features in common. They rely on the copyright within the software to form the licensing contract. They each grant rights and permissions subject to conditions.
In general, these conditions restrict how the software may be further changed or distributed, rather than imposing a requirement that a fee be paid for it.
GPL and BSD
There are two principal open source licensing approaches--the GNU General Public License (GPL) and the Berkeley Software Distribution (BSD) License.
Under the GPL, all derivative works of the software must be licensed and distributed on the same terms as the original software. Source code subject to the GPL cannot be disassociated with that license and permanently remains as such.
Under the BSD License, developers are allowed to integrate the licensed software with the developers’ own source code to create new products with few restrictions.
The BSD License, for example, allows programmers to use, modify and redistribute source code and binaries of the original software. But unlike the GPL approach, programs containing code subject to the BSD License do not have to be distributed under the BSD License. Derivative works can be distributed either in an open source manner, or in a more traditional “commercial” license.
Another characteristic of the GPL approach relates to distribution. The GPL prohibits charging money for the distribution of source code, other than to cover the administrative cost of copying and shipping. However, charging fees for system setup, system management, support, maintenance and other related services is permitted.
It is on this basis that commercial support for Linux is available from some organizations operating under the open source business model.
Intellectual Property
Although open source software is often available for free download, it does not follow that there is no need for intellectual property rights protection under the open source software model.
On the contrary, the basis upon which open source licenses impose terms and conditions is founded on elements of intellectual property protection. In addition, the use of the source code from open-source developers is often permitted on condition that there is appropriate attribution to the original source code author.
In the 2004 German case of Netfilter Project against Sitecom Germany GmbH, a three-judge German court gave recognition to the GPL by requiring the defendant company to disclose the source code of its product that relied on and incorporated components of open source software written by the plaintiff. It is worth noting that in this case, the plaintiff's grounds for the action was founded on copyright.
The plaintiff was not in a position to take legal action against other alleged violators of the GPL, as in those cases, the plaintiff did not own the copyright in the works that were used by the other violators. This illustrates that in both open source and commercial software models, the need for intellectual property rights remains the foundation for the license conditions to operate.
Policy Considerations
As we will see further in the second part of this article, the arguments advocating any particular software development model may, on closer examination, not be as unequivocal as they first appear to be. In fact, there are many underlying similarities amidst the differences cited in both models.
Choices and procurement policies should be made based on value-for-money and fit-for-purpose considerations, and should not be made or preferred based on broad categorizations that do not ultimately support sound objective principles. The benefits and appropriateness of the considerations relating to the open source and commercial software models come across according to the customers' needs in particular situations and not as generic truths.
At a broader policy level, it should be recognized that there is a need for choices in software selection and implementation, and for skills development to support a growing diversity of software development models.
Technology innovation is best accomplished by a healthy, competitive and diverse marketplace that allows software companies to develop and grow according to their own strengths and capabilities. Procurement policies of organizations and Governments have a key role to play in maintaining this diversity that is essential to the growth of the software industry.
Fair and open competition, and not procurement preferences, should determine which products earn the confidence of consumers. Rigorous competition ensures that technology providers have the incentive to invest and produce the best products for the market, which in turn means broader consumer choice among many innovative technologies.
Mr Goh Seow Hiong is the Director of Software Policy for Asia of the Business Software Alliance.
Tuesday, October 19, 2004
新电信国际化道路不平坦
欧洲工商管理学院研讨会
新电信国际化道路不平坦
● 许丽卿
新电信集团总裁李显扬说,该集团国际化的道路并不平坦,有起有落,但是前面所吸取的经验对后来的成功有很大的帮助。
他说,新电信的海外项目是从小做起,80年代末展开的第一个海外项目是在毛里求斯投资传呼业务。这个项目于97年11月脱手,并有盈利。
“谁也没有想到新电信的第一个海外项目会在毛里求斯,因为这是一个非常小的市场,新电信在当地的用户只有1000名,赚了点小钱,但这个项目对新电信来说却非常重要,因为新电信从中学习到如何同外资进行谈判、如何向合作方提出条件,做好准备走向海外。”
李显扬昨天在欧洲工商管理学院(INSEAD)主办的一项研讨会上发表主题演讲,同与会者分享该集团国际化的经验时指出,从毛里求斯第一个小项目做起,新电信后来慢慢进入欧洲市场,逐渐加大海外投资项目。
李显扬将新电信的国际化走向成功道路,归功于该集团管理层具有远见,第一个海外投资项目虽然小,但却对长期的发展却起了很大作用。他说:“在国际化的道路上,有些项目亏钱,有些赚钱;有些则是经过一些时间后,才取得飞跃的成绩。”
他举例说,新电信于94年在菲律宾投资的环球电信(Globe Telecom)项目,最初的几年确实亏了钱,媒体当时就在质疑新电信何时会“收拾包袱回家”,但新电信却坚持留下来。而后来菲律宾的手机收费“预付”方式扭转了新电信的劣势,因为这降低了电信供应商的成本,新电信在菲律宾的手机业务也从此蒸蒸日上,到目前已成为菲律宾三大最赚钱的电信公司之一。
他认为,只有不断尝试,吸取经验,才能证明当初的决定是否正确。“菲律宾环球电信的投资就是一个很好的例子,起初我们失败,后来扭转了劣势,并取得了盈利。”
对于新电信集团海外投资有如此的骄人成绩,李显扬认为,这是新电信采取务实的态度来进行投资,同合作方争取的是在管理层有说话权,而不是像一些业者那样争取控制管理层。另一个因素在于新电信集中发展核心业务,不涉及电视内容或广播等业务。“因为我们知道自己的优势在哪里,集中发展电信业务,绝不碰一些非核心业务。”
他也提到,新电信在选择合作伙伴时非常谨慎,进军亚洲市场必须冒的一个风险是合资,一旦与合作方意见相左,很容易陷入严重的困境。“新电信谨慎选择合作伙伴,在拟定合作协议时也持谨慎态度,所以才能取得双赢。”
新电信国际化道路不平坦
● 许丽卿
新电信集团总裁李显扬说,该集团国际化的道路并不平坦,有起有落,但是前面所吸取的经验对后来的成功有很大的帮助。
他说,新电信的海外项目是从小做起,80年代末展开的第一个海外项目是在毛里求斯投资传呼业务。这个项目于97年11月脱手,并有盈利。
“谁也没有想到新电信的第一个海外项目会在毛里求斯,因为这是一个非常小的市场,新电信在当地的用户只有1000名,赚了点小钱,但这个项目对新电信来说却非常重要,因为新电信从中学习到如何同外资进行谈判、如何向合作方提出条件,做好准备走向海外。”
李显扬昨天在欧洲工商管理学院(INSEAD)主办的一项研讨会上发表主题演讲,同与会者分享该集团国际化的经验时指出,从毛里求斯第一个小项目做起,新电信后来慢慢进入欧洲市场,逐渐加大海外投资项目。
李显扬将新电信的国际化走向成功道路,归功于该集团管理层具有远见,第一个海外投资项目虽然小,但却对长期的发展却起了很大作用。他说:“在国际化的道路上,有些项目亏钱,有些赚钱;有些则是经过一些时间后,才取得飞跃的成绩。”
他举例说,新电信于94年在菲律宾投资的环球电信(Globe Telecom)项目,最初的几年确实亏了钱,媒体当时就在质疑新电信何时会“收拾包袱回家”,但新电信却坚持留下来。而后来菲律宾的手机收费“预付”方式扭转了新电信的劣势,因为这降低了电信供应商的成本,新电信在菲律宾的手机业务也从此蒸蒸日上,到目前已成为菲律宾三大最赚钱的电信公司之一。
他认为,只有不断尝试,吸取经验,才能证明当初的决定是否正确。“菲律宾环球电信的投资就是一个很好的例子,起初我们失败,后来扭转了劣势,并取得了盈利。”
对于新电信集团海外投资有如此的骄人成绩,李显扬认为,这是新电信采取务实的态度来进行投资,同合作方争取的是在管理层有说话权,而不是像一些业者那样争取控制管理层。另一个因素在于新电信集中发展核心业务,不涉及电视内容或广播等业务。“因为我们知道自己的优势在哪里,集中发展电信业务,绝不碰一些非核心业务。”
他也提到,新电信在选择合作伙伴时非常谨慎,进军亚洲市场必须冒的一个风险是合资,一旦与合作方意见相左,很容易陷入严重的困境。“新电信谨慎选择合作伙伴,在拟定合作协议时也持谨慎态度,所以才能取得双赢。”
Monday, October 18, 2004
Find useful site -- network persant
http://www.europa.idv.tw/
Sunday, October 17, 2004
股票投资风险有多高?
冯时能
提到股票投资,一般人的反应是:股市是赌场,风险很高。
再询问身边买过股票的人,就会发现,十之八九亏本,赚钱的不到十之一、二。
更使人好奇的是:既然如此,何以仍有人前仆后继?
我想股市的魅力,就是在它的变幻莫测,越难以捉摸的东西,吸引力越大。在股市中,每一个交易都是一个挑战,每一次交易,盈亏都是个未知数,就好像进入赌场的人,有下注就有赢钱的希望一样,所以,尽管明知十赌九输,仍乐此不疲。
我曾经询问在股市中投机的朋友,屡战屡败,何以仍不离开股市,他们也无法解释。
更令人感到惊奇的是:在股市中失手的,不少是受过高等教育的专业人士,他们在专业的岗位上,精明能干,但进入股市,总是铩羽而归,似乎知识并无助于提高胜算。
跟别的投资管道,尤其是购买房地产相比,股票投资的风险,肯定比较高,有多高?我的答案是:不会比做生意的风险更高。
买股票其实就是买公司的股份,买进一家公司的股份,就是投资于有关公司。很明显的,购买股份的风险,就等于有关公司的生意的风险。如果说买股票没有风险的话,那是痴人说梦话。大家都知道,做生意一定会面对风险。有赚无亏的生意,少之又少,即使有,当所有的人趋之若鹜时,这门生意的竞争激烈了,赚率会逐渐下降,最后那些管理不当或资金不够雄厚的业者,会面对亏蚀,最后是被淘汰,优胜劣败,在商场中尤其明显。
既然买股份就是跟数以万计的陌生人合股做生意,则股份的风险,其实就等于生意的风险。
所以,买股票的风险,不会比直接做生意的风险更高。因为股份所代表的就是企业的业务。企业经营成功,股份的价值跟着上升,企业经营失败,股份的价值跟着贬值。如果是企业一蹶不振,股份的价值可能是一文不值。(上)
(作者是马来西亚《南洋商报》前总编辑,拥有30年投资经验)
提到股票投资,一般人的反应是:股市是赌场,风险很高。
再询问身边买过股票的人,就会发现,十之八九亏本,赚钱的不到十之一、二。
更使人好奇的是:既然如此,何以仍有人前仆后继?
我想股市的魅力,就是在它的变幻莫测,越难以捉摸的东西,吸引力越大。在股市中,每一个交易都是一个挑战,每一次交易,盈亏都是个未知数,就好像进入赌场的人,有下注就有赢钱的希望一样,所以,尽管明知十赌九输,仍乐此不疲。
我曾经询问在股市中投机的朋友,屡战屡败,何以仍不离开股市,他们也无法解释。
更令人感到惊奇的是:在股市中失手的,不少是受过高等教育的专业人士,他们在专业的岗位上,精明能干,但进入股市,总是铩羽而归,似乎知识并无助于提高胜算。
跟别的投资管道,尤其是购买房地产相比,股票投资的风险,肯定比较高,有多高?我的答案是:不会比做生意的风险更高。
买股票其实就是买公司的股份,买进一家公司的股份,就是投资于有关公司。很明显的,购买股份的风险,就等于有关公司的生意的风险。如果说买股票没有风险的话,那是痴人说梦话。大家都知道,做生意一定会面对风险。有赚无亏的生意,少之又少,即使有,当所有的人趋之若鹜时,这门生意的竞争激烈了,赚率会逐渐下降,最后那些管理不当或资金不够雄厚的业者,会面对亏蚀,最后是被淘汰,优胜劣败,在商场中尤其明显。
既然买股份就是跟数以万计的陌生人合股做生意,则股份的风险,其实就等于生意的风险。
所以,买股票的风险,不会比直接做生意的风险更高。因为股份所代表的就是企业的业务。企业经营成功,股份的价值跟着上升,企业经营失败,股份的价值跟着贬值。如果是企业一蹶不振,股份的价值可能是一文不值。(上)
(作者是马来西亚《南洋商报》前总编辑,拥有30年投资经验)
张铭坚:许多企业以新加坡为扩展平台
刚结束的“环球企都@新加坡2004”国际会议共吸引了来自40多个国家的超过1万2000名与会者参加,以及吸引超过160个参展商在会上介绍了他们的创新科技。
为期一星期的大会于昨天圆满结束,成功达到了新加坡要作为一个集合国际创新、科技、基金业者及合作伙伴交流平台的目标。
今年的环球企都@新加坡国际会议已经进入第二年,长达一星期的大会共举办了29项会议,这包括新加入的世界纳米经济大会、海水养殖与繁殖大会、生物识别技术论坛等。这些会议共吸引了3000名外国代表参加,人数占总参与者的25%。
和去年一样,“环球企都@新加坡2004”仍然获得了许多来自印度、中国及亚细安国家参与者的支持。今年的大会也吸引了来自波兰、俄罗斯、西班牙、沙地阿拉伯及阿联酋等国家的参与者。
据主办机构透露,在今年大会上宣布和签署合作协议所涉及的基金和投资金额约5亿元,而在会上宣布在我国设立公司或撮合的项目共有17个。
经济发展局主席张铭坚说,从这次的大会反应来看,许多公司和企业家选择新加坡作为他们理想的交流平台,以新加坡作为寻找合作伙伴扩展国际业务的理想地方。过去一个星期,与会者利用这个平台热络交流,此外,他们也通过一些比较正式的活动场合来进行交流和加强联系,以便从中寻找新的商机。
他认为,无论是大小公司、新成立的公司或历史悠久的公司、本地或外国公司,它们的代表在这个交流平台都有机会实现拓展业务的目标,而这也正是环球企都@新加坡所设下的目标。
新加坡商业联合总会主席李庆言说,该会的许多会员从这个大会获益不浅,相信许多公司会通过这个商业撮合平台寻找未来的合作伙伴。
主办机构昨天也宣布,明年的环球企都@新加坡国际会议将定在2005年9月26日至30日,在新达新加坡国际会展中心举行。
在这次的大会上,不少公司宣布在本地设立公司或办事处,例如世界著名的纳米科技资讯与咨询公司宣布将在新加坡设立办事处,将先进的纳米科技引进新加坡,让在本地的公司有机会从中吸收采纳纳米科技。
另外,俄罗斯中小企业公会(OPORA Russia)也与新加坡商业联合会(SBF)签署合作谅解备忘录,以便为双方的会员公司提供更多的商业合作机会。
《联合早报》
为期一星期的大会于昨天圆满结束,成功达到了新加坡要作为一个集合国际创新、科技、基金业者及合作伙伴交流平台的目标。
今年的环球企都@新加坡国际会议已经进入第二年,长达一星期的大会共举办了29项会议,这包括新加入的世界纳米经济大会、海水养殖与繁殖大会、生物识别技术论坛等。这些会议共吸引了3000名外国代表参加,人数占总参与者的25%。
和去年一样,“环球企都@新加坡2004”仍然获得了许多来自印度、中国及亚细安国家参与者的支持。今年的大会也吸引了来自波兰、俄罗斯、西班牙、沙地阿拉伯及阿联酋等国家的参与者。
据主办机构透露,在今年大会上宣布和签署合作协议所涉及的基金和投资金额约5亿元,而在会上宣布在我国设立公司或撮合的项目共有17个。
经济发展局主席张铭坚说,从这次的大会反应来看,许多公司和企业家选择新加坡作为他们理想的交流平台,以新加坡作为寻找合作伙伴扩展国际业务的理想地方。过去一个星期,与会者利用这个平台热络交流,此外,他们也通过一些比较正式的活动场合来进行交流和加强联系,以便从中寻找新的商机。
他认为,无论是大小公司、新成立的公司或历史悠久的公司、本地或外国公司,它们的代表在这个交流平台都有机会实现拓展业务的目标,而这也正是环球企都@新加坡所设下的目标。
新加坡商业联合总会主席李庆言说,该会的许多会员从这个大会获益不浅,相信许多公司会通过这个商业撮合平台寻找未来的合作伙伴。
主办机构昨天也宣布,明年的环球企都@新加坡国际会议将定在2005年9月26日至30日,在新达新加坡国际会展中心举行。
在这次的大会上,不少公司宣布在本地设立公司或办事处,例如世界著名的纳米科技资讯与咨询公司宣布将在新加坡设立办事处,将先进的纳米科技引进新加坡,让在本地的公司有机会从中吸收采纳纳米科技。
另外,俄罗斯中小企业公会(OPORA Russia)也与新加坡商业联合会(SBF)签署合作谅解备忘录,以便为双方的会员公司提供更多的商业合作机会。
《联合早报》
Thursday, October 14, 2004
Linux 内核配置系统浅析
Linux 内核配置系统浅析
2003 年 2 月
随着 Linux 操作系统的广泛应用,特别是 Linux 在嵌入式领域的发展,越来越多的人开始投身到 Linux 内核级的开发中。面对日益庞大的 Linux 内核源代码,开发者在完成自己的内核代码后,都将面临着同样的问题,即如何将源代码融入到 Linux 内核中,增加相应的 Linux 配置选项,并最终被编译进 Linux 内核。这就需要了解 Linux 的内核配置系统。
众所周知,Linux 内核是由分布在全球的 Linux 爱好者共同开发的,Linux 内核每天都面临着许多新的变化。但是,Linux 内核的组织并没有出现混乱的现象,反而显得非常的简洁,而且具有很好的扩展性,开发人员可以很方便的向 Linux 内核中增加新的内容。原因之一就是 Linux 采用了模块化的内核配置系统,从而保证了内核的扩展性。
本文首先分析了 Linux 内核中的配置系统结构,然后,解释了 Makefile 和配置文件的格式以及配置语句的含义,最后,通过一个简单的例子--TEST Driver,具体说明如何将自行开发的代码加入到 Linux 内核中。在下面的文章中,不可能解释所有的功能和命令,只对那些常用的进行解释,至于那些没有讨论到的,请读者参考后面的参考文献。
1. 配置系统的基本结构
Linux内核的配置系统由三个部分组成,分别是:
1. Makefile:分布在 Linux 内核源代码中的 Makefile,定义 Linux 内核的编译规则;
2. 配置文件(config.in):给用户提供配置选择的功能;
3. 配置工具:包括配置命令解释器(对配置脚本中使用的配置命令进行解释)和配置用户界面(提供基于字符界面、基于 Ncurses 图形界面以及基于 Xwindows 图形界面的用户配置界面,各自对应于 Make config、Make menuconfig 和 make xconfig)。
这些配置工具都是使用脚本语言,如 Tcl/TK、Perl 编写的(也包含一些用 C 编写的代码)。本文并不是对配置系统本身进行分析,而是介绍如何使用配置系统。所以,除非是配置系统的维护者,一般的内核开发者无须了解它们的原理,只需要知道如何编写 Makefile 和配置文件就可以。所以,在本文中,我们只对 Makefile 和配置文件进行讨论。另外,凡是涉及到与具体 CPU 体系结构相关的内容,我们都以 ARM 为例,这样不仅可以将讨论的问题明确化,而且对内容本身不产生影响。
2. Makefile
2.1 Makefile 概述
Makefile 的作用是根据配置的情况,构造出需要编译的源文件列表,然后分别编译,并把目标代码链接到一起,最终形成 Linux 内核二进制文件。
由于 Linux 内核源代码是按照树形结构组织的,所以 Makefile 也被分布在目录树中。Linux 内核中的 Makefile 以及与 Makefile 直接相关的文件有:
1. Makefile:顶层 Makefile,是整个内核配置、编译的总体控制文件。
2. .config:内核配置文件,包含由用户选择的配置选项,用来存放内核配置后的结果(如 make config)。
3. arch/*/Makefile:位于各种 CPU 体系目录下的 Makefile,如 arch/arm/Makefile,是针对特定平台的 Makefile。
4. 各个子目录下的 Makefile:比如 drivers/Makefile,负责所在子目录下源代码的管理。
5. Rules.make:规则文件,被所有的 Makefile 使用。
用户通过 make config 配置后,产生了 .config。顶层 Makefile 读入 .config 中的配置选择。顶层 Makefile 有两个主要的任务:产生 vmlinux 文件和内核模块(module)。为了达到此目的,顶层 Makefile 递归的进入到内核的各个子目录中,分别调用位于这些子目录中的 Makefile。至于到底进入哪些子目录,取决于内核的配置。在顶层 Makefile 中,有一句:include arch/$(ARCH)/Makefile,包含了特定 CPU 体系结构下的 Makefile,这个 Makefile 中包含了平台相关的信息。
位于各个子目录下的 Makefile 同样也根据 .config 给出的配置信息,构造出当前配置下需要的源文件列表,并在文件的最后有 include $(TOPDIR)/Rules.make。
Rules.make 文件起着非常重要的作用,它定义了所有 Makefile 共用的编译规则。比如,如果需要将本目录下所有的 c 程序编译成汇编代码,需要在 Makefile 中有以下的编译规则:
%.s: %.c
$(CC) $(CFLAGS) -S $< -o $@
有很多子目录下都有同样的要求,就需要在各自的 Makefile 中包含此编译规则,这会比较麻烦。而 Linux 内核中则把此类的编译规则统一放置到 Rules.make 中,并在各自的 Makefile 中包含进了 Rules.make(include Rules.make),这样就避免了在多个 Makefile 中重复同样的规则。对于上面的例子,在 Rules.make 中对应的规则为:
%.s: %.c
$(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(CFLAGS_$(*F)) $(CFLAGS_$@) -S $< -o $@
2.2 Makefile 中的变量
顶层 Makefile 定义并向环境中输出了许多变量,为各个子目录下的 Makefile 传递一些信息。有些变量,比如 SUBDIRS,不仅在顶层 Makefile 中定义并且赋初值,而且在 arch/*/Makefile 还作了扩充。
常用的变量有以下几类:
1) 版本信息
版本信息有:VERSION,PATCHLEVEL, SUBLEVEL, EXTRAVERSION,KERNELRELEASE。版本信息定义了当前内核的版本,比如 VERSION=2,PATCHLEVEL=4,SUBLEVEL=18,EXATAVERSION=-rmk7,它们共同构成内核的发行版本 KERNELRELEASE:2.4.18-rmk7
2) CPU 体系结构:ARCH
在顶层 Makefile 的开头,用 ARCH 定义目标 CPU 的体系结构,比如 ARCH:=arm 等。许多子目录的 Makefile 中,要根据 ARCH 的定义选择编译源文件的列表。
3) 路径信息:TOPDIR, SUBDIRS
TOPDIR 定义了 Linux 内核源代码所在的根目录。例如,各个子目录下的 Makefile 通过 $(TOPDIR)/Rules.make 就可以找到 Rules.make 的位置。
SUBDIRS 定义了一个目录列表,在编译内核或模块时,顶层 Makefile 就是根据 SUBDIRS 来决定进入哪些子目录。SUBDIRS 的值取决于内核的配置,在顶层 Makefile 中 SUBDIRS 赋值为 kernel drivers mm fs net ipc lib;根据内核的配置情况,在 arch/*/Makefile 中扩充了 SUBDIRS 的值,参见4)中的例子。
4) 内核组成信息:HEAD, CORE_FILES, NETWORKS, DRIVERS, LIBS
Linux 内核文件 vmlinux 是由以下规则产生的:
vmlinux: $(CONFIGURATION) init/main.o init/version.o linuxsubdirs
$(LD) $(LINKFLAGS) $(HEAD) init/main.o init/version.o
--start-group
$(CORE_FILES)
$(DRIVERS)
$(NETWORKS)
$(LIBS)
--end-group
-o vmlinux
可以看出,vmlinux 是由 HEAD、main.o、version.o、CORE_FILES、DRIVERS、NETWORKS 和 LIBS 组成的。这些变量(如 HEAD)都是用来定义连接生成 vmlinux 的目标文件和库文件列表。其中,HEAD在arch/*/Makefile 中定义,用来确定被最先链接进 vmlinux 的文件列表。比如,对于 ARM 系列的 CPU,HEAD 定义为:
HEAD := arch/arm/kernel/head-$(PROCESSOR).o
arch/arm/kernel/init_task.o
表明 head-$(PROCESSOR).o 和 init_task.o 需要最先被链接到 vmlinux 中。PROCESSOR 为 armv 或 armo,取决于目标 CPU。 CORE_FILES,NETWORK,DRIVERS 和 LIBS 在顶层 Makefile 中定义,并且由 arch/*/Makefile 根据需要进行扩充。 CORE_FILES 对应着内核的核心文件,有 kernel/kernel.o,mm/mm.o,fs/fs.o,ipc/ipc.o,可以看出,这些是组成内核最为重要的文件。同时, arch/arm/Makefile 对 CORE_FILES 进行了扩充:
# arch/arm/Makefile
# If we have a machine-specific directory, then include it in the build.
MACHDIR := arch/arm/mach-$(MACHINE)
ifeq ($(MACHDIR),$(wildcard $(MACHDIR)))
SUBDIRS += $(MACHDIR)
CORE_FILES := $(MACHDIR)/$(MACHINE).o $(CORE_FILES)
endif
HEAD := arch/arm/kernel/head-$(PROCESSOR).o
arch/arm/kernel/init_task.o
SUBDIRS += arch/arm/kernel arch/arm/mm arch/arm/lib arch/arm/nwfpe
CORE_FILES := arch/arm/kernel/kernel.o arch/arm/mm/mm.o $(CORE_FILES)
LIBS := arch/arm/lib/lib.a $(LIBS)
5) 编译信息:CPP, CC, AS, LD, AR,CFLAGS,LINKFLAGS
在 Rules.make 中定义的是编译的通用规则,具体到特定的场合,需要明确给出编译环境,编译环境就是在以上的变量中定义的。针对交叉编译的要求,定义了 CROSS_COMPILE。比如:
CROSS_COMPILE = arm-linux-
CC = $(CROSS_COMPILE)gcc
LD = $(CROSS_COMPILE)ld
......
CROSS_COMPILE 定义了交叉编译器前缀 arm-linux-,表明所有的交叉编译工具都是以 arm-linux- 开头的,所以在各个交叉编译器工具之前,都加入了 $(CROSS_COMPILE),以组成一个完整的交叉编译工具文件名,比如 arm-linux-gcc。
CFLAGS 定义了传递给 C 编译器的参数。
LINKFLAGS 是链接生成 vmlinux 时,由链接器使用的参数。LINKFLAGS 在 arm/*/Makefile 中定义,比如:
# arch/arm/Makefile
LINKFLAGS :=-p -X -T arch/arm/vmlinux.lds
6) 配置变量CONFIG_*
.config 文件中有许多的配置变量等式,用来说明用户配置的结果。例如 CONFIG_MODULES=y 表明用户选择了 Linux 内核的模块功能。
.config 被顶层 Makefile 包含后,就形成许多的配置变量,每个配置变量具有确定的值:y 表示本编译选项对应的内核代码被静态编译进 Linux 内核;m 表示本编译选项对应的内核代码被编译成模块;n 表示不选择此编译选项;如果根本就没有选择,那么配置变量的值为空。
2.3 Rules.make 变量
前面讲过,Rules.make 是编译规则文件,所有的 Makefile 中都会包括 Rules.make。Rules.make 文件定义了许多变量,最为重要是那些编译、链接列表变量。
O_OBJS,L_OBJS,OX_OBJS,LX_OBJS:本目录下需要编译进 Linux 内核 vmlinux 的目标文件列表,其中 OX_OBJS 和 LX_OBJS 中的 "X" 表明目标文件使用了 EXPORT_SYMBOL 输出符号。
M_OBJS,MX_OBJS:本目录下需要被编译成可装载模块的目标文件列表。同样,MX_OBJS 中的 "X" 表明目标文件使用了 EXPORT_SYMBOL 输出符号。
O_TARGET, L_TARGET:每个子目录下都有一个 O_TARGET 或 L_TARGET,Rules.make 首先从源代码编译生成 O_OBJS 和 OX_OBJS 中所有的目标文件,然后使用 $(LD) -r 把它们链接成一个 O_TARGET 或 L_TARGET。O_TARGET 以 .o 结尾,而 L_TARGET 以 .a 结尾。
2.4 子目录 Makefile
子目录 Makefile 用来控制本级目录以下源代码的编译规则。我们通过一个例子来讲解子目录 Makefile 的组成:
#
# Makefile for the linux kernel.
#
# All of the (potential) objects that export symbols.
# This list comes from 'grep -l EXPORT_SYMBOL *.[hc]'.
export-objs := tc.o
# Object file lists.
obj-y :=
obj-m :=
obj-n :=
obj- :=
obj-$(CONFIG_TC) += tc.o
obj-$(CONFIG_ZS) += zs.o
obj-$(CONFIG_VT) += lk201.o lk201-map.o lk201-remap.o
# Files that are both resident and modular: remove from modular.
obj-m := $(filter-out $(obj-y), $(obj-m))
# Translate to Rules.make lists.
L_TARGET := tc.a
L_OBJS := $(sort $(filter-out $(export-objs), $(obj-y)))
LX_OBJS := $(sort $(filter $(export-objs), $(obj-y)))
M_OBJS := $(sort $(filter-out $(export-objs), $(obj-m)))
MX_OBJS := $(sort $(filter $(export-objs), $(obj-m)))
include $(TOPDIR)/Rules.make
a) 注释
对 Makefile 的说明和解释,由#开始。
b) 编译目标定义
类似于 obj-$(CONFIG_TC) += tc.o 的语句是用来定义编译的目标,是子目录 Makefile 中最重要的部分。编译目标定义那些在本子目录下,需要编译到 Linux 内核中的目标文件列表。为了只在用户选择了此功能后才编译,所有的目标定义都融合了对配置变量的判断。
前面说过,每个配置变量取值范围是:y, n,m 和空,obj-$(CONFIG_TC) 分别对应着 obj-y,obj-n,obj-m,obj-。如果 CONFIG_TC 配置为 y,那么 tc.o 就进入了 obj-y 列表。obj-y 为包含到 Linux 内核 vmlinux 中的目标文件列表;obj-m 为编译成模块的目标文件列表;obj-n 和 obj- 中的文件列表被忽略。配置系统就根据这些列表的属性进行编译和链接。
export-objs 中的目标文件都使用了 EXPORT_SYMBOL() 定义了公共的符号,以便可装载模块使用。在 tc.c 文件的最后部分,有 "EXPORT_SYMBOL(search_tc_card);",表明 tc.o 有符号输出。
这里需要指出的是,对于编译目标的定义,存在着两种格式,分别是老式定义和新式定义。老式定义就是前面 Rules.make 使用的那些变量,新式定义就是 obj-y,obj-m,obj-n 和 obj-。Linux 内核推荐使用新式定义,不过由于 Rules.make 不理解新式定义,需要在 Makefile 中的适配段将其转换成老式定义。
c) 适配段
适配段的作用是将新式定义转换成老式定义。在上面的例子中,适配段就是将 obj-y 和 obj-m 转换成 Rules.make 能够理解的 L_TARGET,L_OBJS,LX_OBJS,M_OBJS,MX_OBJS。
L_OBJS := $(sort $(filter-out $(export-objs), $(obj-y))) 定义了 L_OBJS 的生成方式:在 obj-y 的列表中过滤掉 export-objs(tc.o),然后排序并去除重复的文件名。这里使用到了 GNU Make 的一些特殊功能,具体的含义可参考 Make 的文档(info make)。
d) include $(TOPDIR)/Rules.make
3. 配置文件
3.1 配置功能概述
除了 Makefile 的编写,另外一个重要的工作就是把新功能加入到 Linux 的配置选项中,提供此项功能的说明,让用户有机会选择此项功能。所有的这些都需要在 config.in 文件中用配置语言来编写配置脚本,
在 Linux 内核中,配置命令有多种方式:
配置命令 解释脚本
Make config, make oldconfig scripts/Configure
Make menuconfig scripts/Menuconfig
Make xconfig scripts/tkparse
以字符界面配置(make config)为例,顶层 Makefile 调用 scripts/Configure, 按照 arch/arm/config.in 来进行配置。命令执行完后产生文件 .config,其中保存着配置信息。下一次再做 make config 将产生新的 .config 文件,原 .config 被改名为 .config.old
3.2 配置语言
1) 顶层菜单
mainmenu_name /prompt/ /prompt/ 是用'或"包围的字符串,'与"的区别是'…'中可使用$引用变量的值。mainmenu_name 设置最高层菜单的名字,它只在 make xconfig 时才会显示。
2) 询问语句
bool /prompt/ /symbol/
hex /prompt/ /symbol/ /word/
int /prompt/ /symbol/ /word/
string /prompt/ /symbol/ /word/
tristate /prompt/ /symbol/
询问语句首先显示一串提示符 /prompt/,等待用户输入,并把输入的结果赋给 /symbol/ 所代表的配置变量。不同的询问语句的区别在于它们接受的输入数据类型不同,比如 bool 接受布尔类型( y 或 n ),hex 接受 16 进制数据。有些询问语句还有第三个参数 /word/,用来给出缺省值。
3) 定义语句
define_bool /symbol/ /word/
define_hex /symbol/ /word/
define_int /symbol/ /word/
define_string /symbol/ /word/
define_tristate /symbol/ /word/
不同于询问语句等待用户输入,定义语句显式的给配置变量 /symbol/ 赋值 /word/。
4) 依赖语句
dep_bool /prompt/ /symbol/ /dep/ ...
dep_mbool /prompt/ /symbol/ /dep/ ...
dep_hex /prompt/ /symbol/ /word/ /dep/ ...
dep_int /prompt/ /symbol/ /word/ /dep/ ...
dep_string /prompt/ /symbol/ /word/ /dep/ ...
dep_tristate /prompt/ /symbol/ /dep/ ...
与询问语句类似,依赖语句也是定义新的配置变量。不同的是,配置变量/symbol/的取值范围将依赖于配置变量列表/dep/ …。这就意味着:被定义的配置变量所对应功能的取舍取决于依赖列表所对应功能的选择。以dep_bool为例,如果/dep/ …列表的所有配置变量都取值y,则显示/prompt/,用户可输入任意的值给配置变量/symbol/,但是只要有一个配置变量的取值为n,则 /symbol/被强制成n。
不同依赖语句的区别在于它们由依赖条件所产生的取值范围不同。
5) 选择语句
choice /prompt/ /word/ /word/
choice 语句首先给出一串选择列表,供用户选择其中一种。比如 Linux for ARM 支持多种基于 ARM core 的 CPU,Linux 使用 choice 语句提供一个 CPU 列表,供用户选择:
choice 'ARM system type'
"Anakin CONFIG_ARCH_ANAKIN
Archimedes/A5000 CONFIG_ARCH_ARCA5K
Cirrus-CL-PS7500FE CONFIG_ARCH_CLPS7500
……
SA1100-based CONFIG_ARCH_SA1100
Shark CONFIG_ARCH_SHARK" RiscPC
Choice 首先显示 /prompt/,然后将 /word/ 分解成前后两个部分,前部分为对应选择的提示符,后部分是对应选择的配置变量。用户选择的配置变量为 y,其余的都为 n。
6) if语句
if [ /expr/ ] ; then
/statement/
...
fi
if [ /expr/ ] ; then
/statement/
...
else
/statement/
...
fi
if 语句对配置变量(或配置变量的组合)进行判断,并作出不同的处理。判断条件 /expr/ 可以是单个配置变量或字符串,也可以是带操作符的表达式。操作符有:=,!=,-o,-a 等。
7) 菜单块(menu block)语句
mainmenu_option next_comment
comment '…..'
…
endmenu
引入新的菜单。在向内核增加新的功能后,需要相应的增加新的菜单,并在新菜单下给出此项功能的配置选项。Comment 后带的注释就是新菜单的名称。所有归属于此菜单的配置选项语句都写在 comment 和 endmenu 之间。
8) Source 语句
source /word/
/word/ 是文件名,source 的作用是调入新的文件。
3.3 缺省配置
Linux 内核支持非常多的硬件平台,对于具体的硬件平台而言,有些配置就是必需的,有些配置就不是必需的。另外,新增加功能的正常运行往往也需要一定的先决条件,针对新功能,必须作相应的配置。因此,特定硬件平台能够正常运行对应着一个最小的基本配置,这就是缺省配置。
Linux 内核中针对每个 ARCH 都会有一个缺省配置。在向内核代码增加了新的功能后,如果新功能对于这个 ARCH 是必需的,就要修改此 ARCH 的缺省配置。修改方法如下(在 Linux 内核根目录下):
1. 备份 .config 文件
2. cp arch/arm/deconfig .config
3. 修改 .config
4. cp .config arch/arm/deconfig
5. 恢复 .config
如果新增的功能适用于许多的 ARCH,只要针对具体的 ARCH,重复上面的步骤就可以了。
3.4 help file
大家都有这样的经验,在配置 Linux 内核时,遇到不懂含义的配置选项,可以查看它的帮助,从中可得到选择的建议。下面我们就看看如何给给一个配置选项增加帮助信息。
所有配置选项的帮助信息都在 Documentation/Configure.help 中,它的格式为:
给出本配置选项的名称, 对应配置变量, 对应配置帮助信息。在帮助信息中,首先简单描述此功能,其次说明选择了此功能后会有什么效果,不选择又有什么效果,最后,不要忘了写上"如果不清楚,选择 N(或者)Y",给不知所措的用户以提示。
4. 实例
对于一个开发者来说,将自己开发的内核代码加入到 Linux 内核中,需要有三个步骤。首先确定把自己开发代码放入到内核的位置;其次,把自己开发的功能增加到 Linux 内核的配置选项中,使用户能够选择此功能;最后,构建子目录 Makefile,根据用户的选择,将相应的代码编译到最终生成的 Linux 内核中去。下面,我们就通过一个简单的例子--test driver,结合前面学到的知识,来说明如何向 Linux 内核中增加新的功能。
4.1 目录结构
test driver 放置在 drivers/test/ 目录下:
$cd drivers/test
$tree
.
|-- Config.in
|-- Makefile
|-- cpu
| |-- Makefile
| `-- cpu.c
|-- test.c
|-- test_client.c
|-- test_ioctl.c
|-- test_proc.c
|-- test_queue.c
`-- test
|-- Makefile
`-- test.c
4.2 配置文件
1) drivers/test/Config.in
#
# TEST driver configuration
#
mainmenu_option next_comment
comment 'TEST Driver'
bool 'TEST support' CONFIG_TEST
if [ "$CONFIG_TEST" = "y" ]; then
tristate 'TEST user-space interface' CONFIG_TEST_USER
bool 'TEST CPU ' CONFIG_TEST_CPU
fi
endmenu
由于 test driver 对于内核来说是新的功能,所以首先创建一个菜单 TEST Driver。然后,显示 "TEST support",等待用户选择;接下来判断用户是否选择了 TEST Driver,如果是(CONFIG_TEST=y),则进一步显示子功能:用户接口与 CPU 功能支持;由于用户接口功能可以被编译成内核模块,所以这里的询问语句使用了 tristate(因为 tristate 的取值范围包括 y、n 和 m,m 就是对应着模块)。
2) arch/arm/config.in
在文件的最后加入:source drivers/test/Config.in,将 TEST Driver 子功能的配置纳入到 Linux 内核的配置中。
4.3 Makefile
1)drivers/test/Makefile
# drivers/test/Makefile
#
# Makefile for the TEST.
#
SUB_DIRS :=
MOD_SUB_DIRS := $(SUB_DIRS)
ALL_SUB_DIRS := $(SUB_DIRS) cpu
L_TARGET := test.a
export-objs := test.o test_client.o
obj-$(CONFIG_TEST) += test.o test_queue.o test_client.o
obj-$(CONFIG_TEST_USER) += test_ioctl.o
obj-$(CONFIG_PROC_FS) += test_proc.o
subdir-$(CONFIG_TEST_CPU) += cpu
include $(TOPDIR)/Rules.make
clean:
for dir in $(ALL_SUB_DIRS); do make -C $$dir clean; done
rm -f *.[oa] .*.flags
drivers/test 目录下最终生成的目标文件是 test.a。在 test.c 和 test-client.c 中使用了 EXPORT_SYMBOL 输出符号,所以 test.o 和 test-client.o 位于 export-objs 列表中。然后,根据用户的选择(具体来说,就是配置变量的取值),构建各自对应的 obj-* 列表。由于 TEST Driver 中包一个子目录 cpu,当 CONFIG_TEST_CPU=y(即用户选择了此功能)时,需要将 cpu 目录加入到 subdir-y 列表中。
2)drivers/test/cpu/Makefile
# drivers/test/test/Makefile
#
# Makefile for the TEST CPU
#
SUB_DIRS :=
MOD_SUB_DIRS := $(SUB_DIRS)
ALL_SUB_DIRS := $(SUB_DIRS)
L_TARGET := test_cpu.a
obj-$(CONFIG_test_CPU) += cpu.o
include $(TOPDIR)/Rules.make
clean:
rm -f *.[oa] .*.flags
3)drivers/Makefile
……
subdir-$(CONFIG_TEST) += test
……
include $(TOPDIR)/Rules.make
在 drivers/Makefile 中加入 subdir-$(CONFIG_TEST)+= test,使得在用户选择 TEST Driver 功能后,内核编译时能够进入 test 目录。
4)Makefile
……
DRIVERS-$(CONFIG_PLD) += drivers/pld/pld.o
DRIVERS-$(CONFIG_TEST) += drivers/test/test.a
DRIVERS-$(CONFIG_TEST_CPU) += drivers/test/cpu/test_cpu.a
DRIVERS := $(DRIVERS-y)
……
在顶层 Makefile 中加入 DRIVERS-$(CONFIG_TEST) += drivers/test/test.a 和 DRIVERS-$(CONFIG_TEST_CPU) += drivers/test/cpu/test_cpu.a。如何用户选择了 TEST Driver,那么 CONFIG_TEST 和 CONFIG_TEST_CPU 都是 y,test.a 和 test_cpu.a 就都位于 DRIVERS-y 列表中,然后又被放置在 DRIVERS 列表中。在前面曾经提到过,Linux 内核文件 vmlinux 的组成中包括 DRIVERS,所以 test.a 和 test_cpu.a 最终可被链接到 vmlinux 中。
5. 参考
1. Document/kbuild/makefiles.txt,Linux Kernel Source code
2. Document/kbuild/config-language.txt,Linux Kernel Source code
3. Contributing to the Linux Kernel--The Linux Configuration System,Linux Journal,http://www.linuxjournal.com/categories.php?op=newindex&catid=178
4. Unreliable Guide To Hacking The Linux Kernel,Paul Rusty Russell,rusty@rustcorp.com.au
关于作者
汤凯,通过tangk73@hotmail.com可以跟他联系。
来自:www-900.ibm.com
2003 年 2 月
随着 Linux 操作系统的广泛应用,特别是 Linux 在嵌入式领域的发展,越来越多的人开始投身到 Linux 内核级的开发中。面对日益庞大的 Linux 内核源代码,开发者在完成自己的内核代码后,都将面临着同样的问题,即如何将源代码融入到 Linux 内核中,增加相应的 Linux 配置选项,并最终被编译进 Linux 内核。这就需要了解 Linux 的内核配置系统。
众所周知,Linux 内核是由分布在全球的 Linux 爱好者共同开发的,Linux 内核每天都面临着许多新的变化。但是,Linux 内核的组织并没有出现混乱的现象,反而显得非常的简洁,而且具有很好的扩展性,开发人员可以很方便的向 Linux 内核中增加新的内容。原因之一就是 Linux 采用了模块化的内核配置系统,从而保证了内核的扩展性。
本文首先分析了 Linux 内核中的配置系统结构,然后,解释了 Makefile 和配置文件的格式以及配置语句的含义,最后,通过一个简单的例子--TEST Driver,具体说明如何将自行开发的代码加入到 Linux 内核中。在下面的文章中,不可能解释所有的功能和命令,只对那些常用的进行解释,至于那些没有讨论到的,请读者参考后面的参考文献。
1. 配置系统的基本结构
Linux内核的配置系统由三个部分组成,分别是:
1. Makefile:分布在 Linux 内核源代码中的 Makefile,定义 Linux 内核的编译规则;
2. 配置文件(config.in):给用户提供配置选择的功能;
3. 配置工具:包括配置命令解释器(对配置脚本中使用的配置命令进行解释)和配置用户界面(提供基于字符界面、基于 Ncurses 图形界面以及基于 Xwindows 图形界面的用户配置界面,各自对应于 Make config、Make menuconfig 和 make xconfig)。
这些配置工具都是使用脚本语言,如 Tcl/TK、Perl 编写的(也包含一些用 C 编写的代码)。本文并不是对配置系统本身进行分析,而是介绍如何使用配置系统。所以,除非是配置系统的维护者,一般的内核开发者无须了解它们的原理,只需要知道如何编写 Makefile 和配置文件就可以。所以,在本文中,我们只对 Makefile 和配置文件进行讨论。另外,凡是涉及到与具体 CPU 体系结构相关的内容,我们都以 ARM 为例,这样不仅可以将讨论的问题明确化,而且对内容本身不产生影响。
2. Makefile
2.1 Makefile 概述
Makefile 的作用是根据配置的情况,构造出需要编译的源文件列表,然后分别编译,并把目标代码链接到一起,最终形成 Linux 内核二进制文件。
由于 Linux 内核源代码是按照树形结构组织的,所以 Makefile 也被分布在目录树中。Linux 内核中的 Makefile 以及与 Makefile 直接相关的文件有:
1. Makefile:顶层 Makefile,是整个内核配置、编译的总体控制文件。
2. .config:内核配置文件,包含由用户选择的配置选项,用来存放内核配置后的结果(如 make config)。
3. arch/*/Makefile:位于各种 CPU 体系目录下的 Makefile,如 arch/arm/Makefile,是针对特定平台的 Makefile。
4. 各个子目录下的 Makefile:比如 drivers/Makefile,负责所在子目录下源代码的管理。
5. Rules.make:规则文件,被所有的 Makefile 使用。
用户通过 make config 配置后,产生了 .config。顶层 Makefile 读入 .config 中的配置选择。顶层 Makefile 有两个主要的任务:产生 vmlinux 文件和内核模块(module)。为了达到此目的,顶层 Makefile 递归的进入到内核的各个子目录中,分别调用位于这些子目录中的 Makefile。至于到底进入哪些子目录,取决于内核的配置。在顶层 Makefile 中,有一句:include arch/$(ARCH)/Makefile,包含了特定 CPU 体系结构下的 Makefile,这个 Makefile 中包含了平台相关的信息。
位于各个子目录下的 Makefile 同样也根据 .config 给出的配置信息,构造出当前配置下需要的源文件列表,并在文件的最后有 include $(TOPDIR)/Rules.make。
Rules.make 文件起着非常重要的作用,它定义了所有 Makefile 共用的编译规则。比如,如果需要将本目录下所有的 c 程序编译成汇编代码,需要在 Makefile 中有以下的编译规则:
%.s: %.c
$(CC) $(CFLAGS) -S $< -o $@
有很多子目录下都有同样的要求,就需要在各自的 Makefile 中包含此编译规则,这会比较麻烦。而 Linux 内核中则把此类的编译规则统一放置到 Rules.make 中,并在各自的 Makefile 中包含进了 Rules.make(include Rules.make),这样就避免了在多个 Makefile 中重复同样的规则。对于上面的例子,在 Rules.make 中对应的规则为:
%.s: %.c
$(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(CFLAGS_$(*F)) $(CFLAGS_$@) -S $< -o $@
2.2 Makefile 中的变量
顶层 Makefile 定义并向环境中输出了许多变量,为各个子目录下的 Makefile 传递一些信息。有些变量,比如 SUBDIRS,不仅在顶层 Makefile 中定义并且赋初值,而且在 arch/*/Makefile 还作了扩充。
常用的变量有以下几类:
1) 版本信息
版本信息有:VERSION,PATCHLEVEL, SUBLEVEL, EXTRAVERSION,KERNELRELEASE。版本信息定义了当前内核的版本,比如 VERSION=2,PATCHLEVEL=4,SUBLEVEL=18,EXATAVERSION=-rmk7,它们共同构成内核的发行版本 KERNELRELEASE:2.4.18-rmk7
2) CPU 体系结构:ARCH
在顶层 Makefile 的开头,用 ARCH 定义目标 CPU 的体系结构,比如 ARCH:=arm 等。许多子目录的 Makefile 中,要根据 ARCH 的定义选择编译源文件的列表。
3) 路径信息:TOPDIR, SUBDIRS
TOPDIR 定义了 Linux 内核源代码所在的根目录。例如,各个子目录下的 Makefile 通过 $(TOPDIR)/Rules.make 就可以找到 Rules.make 的位置。
SUBDIRS 定义了一个目录列表,在编译内核或模块时,顶层 Makefile 就是根据 SUBDIRS 来决定进入哪些子目录。SUBDIRS 的值取决于内核的配置,在顶层 Makefile 中 SUBDIRS 赋值为 kernel drivers mm fs net ipc lib;根据内核的配置情况,在 arch/*/Makefile 中扩充了 SUBDIRS 的值,参见4)中的例子。
4) 内核组成信息:HEAD, CORE_FILES, NETWORKS, DRIVERS, LIBS
Linux 内核文件 vmlinux 是由以下规则产生的:
vmlinux: $(CONFIGURATION) init/main.o init/version.o linuxsubdirs
$(LD) $(LINKFLAGS) $(HEAD) init/main.o init/version.o
--start-group
$(CORE_FILES)
$(DRIVERS)
$(NETWORKS)
$(LIBS)
--end-group
-o vmlinux
可以看出,vmlinux 是由 HEAD、main.o、version.o、CORE_FILES、DRIVERS、NETWORKS 和 LIBS 组成的。这些变量(如 HEAD)都是用来定义连接生成 vmlinux 的目标文件和库文件列表。其中,HEAD在arch/*/Makefile 中定义,用来确定被最先链接进 vmlinux 的文件列表。比如,对于 ARM 系列的 CPU,HEAD 定义为:
HEAD := arch/arm/kernel/head-$(PROCESSOR).o
arch/arm/kernel/init_task.o
表明 head-$(PROCESSOR).o 和 init_task.o 需要最先被链接到 vmlinux 中。PROCESSOR 为 armv 或 armo,取决于目标 CPU。 CORE_FILES,NETWORK,DRIVERS 和 LIBS 在顶层 Makefile 中定义,并且由 arch/*/Makefile 根据需要进行扩充。 CORE_FILES 对应着内核的核心文件,有 kernel/kernel.o,mm/mm.o,fs/fs.o,ipc/ipc.o,可以看出,这些是组成内核最为重要的文件。同时, arch/arm/Makefile 对 CORE_FILES 进行了扩充:
# arch/arm/Makefile
# If we have a machine-specific directory, then include it in the build.
MACHDIR := arch/arm/mach-$(MACHINE)
ifeq ($(MACHDIR),$(wildcard $(MACHDIR)))
SUBDIRS += $(MACHDIR)
CORE_FILES := $(MACHDIR)/$(MACHINE).o $(CORE_FILES)
endif
HEAD := arch/arm/kernel/head-$(PROCESSOR).o
arch/arm/kernel/init_task.o
SUBDIRS += arch/arm/kernel arch/arm/mm arch/arm/lib arch/arm/nwfpe
CORE_FILES := arch/arm/kernel/kernel.o arch/arm/mm/mm.o $(CORE_FILES)
LIBS := arch/arm/lib/lib.a $(LIBS)
5) 编译信息:CPP, CC, AS, LD, AR,CFLAGS,LINKFLAGS
在 Rules.make 中定义的是编译的通用规则,具体到特定的场合,需要明确给出编译环境,编译环境就是在以上的变量中定义的。针对交叉编译的要求,定义了 CROSS_COMPILE。比如:
CROSS_COMPILE = arm-linux-
CC = $(CROSS_COMPILE)gcc
LD = $(CROSS_COMPILE)ld
......
CROSS_COMPILE 定义了交叉编译器前缀 arm-linux-,表明所有的交叉编译工具都是以 arm-linux- 开头的,所以在各个交叉编译器工具之前,都加入了 $(CROSS_COMPILE),以组成一个完整的交叉编译工具文件名,比如 arm-linux-gcc。
CFLAGS 定义了传递给 C 编译器的参数。
LINKFLAGS 是链接生成 vmlinux 时,由链接器使用的参数。LINKFLAGS 在 arm/*/Makefile 中定义,比如:
# arch/arm/Makefile
LINKFLAGS :=-p -X -T arch/arm/vmlinux.lds
6) 配置变量CONFIG_*
.config 文件中有许多的配置变量等式,用来说明用户配置的结果。例如 CONFIG_MODULES=y 表明用户选择了 Linux 内核的模块功能。
.config 被顶层 Makefile 包含后,就形成许多的配置变量,每个配置变量具有确定的值:y 表示本编译选项对应的内核代码被静态编译进 Linux 内核;m 表示本编译选项对应的内核代码被编译成模块;n 表示不选择此编译选项;如果根本就没有选择,那么配置变量的值为空。
2.3 Rules.make 变量
前面讲过,Rules.make 是编译规则文件,所有的 Makefile 中都会包括 Rules.make。Rules.make 文件定义了许多变量,最为重要是那些编译、链接列表变量。
O_OBJS,L_OBJS,OX_OBJS,LX_OBJS:本目录下需要编译进 Linux 内核 vmlinux 的目标文件列表,其中 OX_OBJS 和 LX_OBJS 中的 "X" 表明目标文件使用了 EXPORT_SYMBOL 输出符号。
M_OBJS,MX_OBJS:本目录下需要被编译成可装载模块的目标文件列表。同样,MX_OBJS 中的 "X" 表明目标文件使用了 EXPORT_SYMBOL 输出符号。
O_TARGET, L_TARGET:每个子目录下都有一个 O_TARGET 或 L_TARGET,Rules.make 首先从源代码编译生成 O_OBJS 和 OX_OBJS 中所有的目标文件,然后使用 $(LD) -r 把它们链接成一个 O_TARGET 或 L_TARGET。O_TARGET 以 .o 结尾,而 L_TARGET 以 .a 结尾。
2.4 子目录 Makefile
子目录 Makefile 用来控制本级目录以下源代码的编译规则。我们通过一个例子来讲解子目录 Makefile 的组成:
#
# Makefile for the linux kernel.
#
# All of the (potential) objects that export symbols.
# This list comes from 'grep -l EXPORT_SYMBOL *.[hc]'.
export-objs := tc.o
# Object file lists.
obj-y :=
obj-m :=
obj-n :=
obj- :=
obj-$(CONFIG_TC) += tc.o
obj-$(CONFIG_ZS) += zs.o
obj-$(CONFIG_VT) += lk201.o lk201-map.o lk201-remap.o
# Files that are both resident and modular: remove from modular.
obj-m := $(filter-out $(obj-y), $(obj-m))
# Translate to Rules.make lists.
L_TARGET := tc.a
L_OBJS := $(sort $(filter-out $(export-objs), $(obj-y)))
LX_OBJS := $(sort $(filter $(export-objs), $(obj-y)))
M_OBJS := $(sort $(filter-out $(export-objs), $(obj-m)))
MX_OBJS := $(sort $(filter $(export-objs), $(obj-m)))
include $(TOPDIR)/Rules.make
a) 注释
对 Makefile 的说明和解释,由#开始。
b) 编译目标定义
类似于 obj-$(CONFIG_TC) += tc.o 的语句是用来定义编译的目标,是子目录 Makefile 中最重要的部分。编译目标定义那些在本子目录下,需要编译到 Linux 内核中的目标文件列表。为了只在用户选择了此功能后才编译,所有的目标定义都融合了对配置变量的判断。
前面说过,每个配置变量取值范围是:y, n,m 和空,obj-$(CONFIG_TC) 分别对应着 obj-y,obj-n,obj-m,obj-。如果 CONFIG_TC 配置为 y,那么 tc.o 就进入了 obj-y 列表。obj-y 为包含到 Linux 内核 vmlinux 中的目标文件列表;obj-m 为编译成模块的目标文件列表;obj-n 和 obj- 中的文件列表被忽略。配置系统就根据这些列表的属性进行编译和链接。
export-objs 中的目标文件都使用了 EXPORT_SYMBOL() 定义了公共的符号,以便可装载模块使用。在 tc.c 文件的最后部分,有 "EXPORT_SYMBOL(search_tc_card);",表明 tc.o 有符号输出。
这里需要指出的是,对于编译目标的定义,存在着两种格式,分别是老式定义和新式定义。老式定义就是前面 Rules.make 使用的那些变量,新式定义就是 obj-y,obj-m,obj-n 和 obj-。Linux 内核推荐使用新式定义,不过由于 Rules.make 不理解新式定义,需要在 Makefile 中的适配段将其转换成老式定义。
c) 适配段
适配段的作用是将新式定义转换成老式定义。在上面的例子中,适配段就是将 obj-y 和 obj-m 转换成 Rules.make 能够理解的 L_TARGET,L_OBJS,LX_OBJS,M_OBJS,MX_OBJS。
L_OBJS := $(sort $(filter-out $(export-objs), $(obj-y))) 定义了 L_OBJS 的生成方式:在 obj-y 的列表中过滤掉 export-objs(tc.o),然后排序并去除重复的文件名。这里使用到了 GNU Make 的一些特殊功能,具体的含义可参考 Make 的文档(info make)。
d) include $(TOPDIR)/Rules.make
3. 配置文件
3.1 配置功能概述
除了 Makefile 的编写,另外一个重要的工作就是把新功能加入到 Linux 的配置选项中,提供此项功能的说明,让用户有机会选择此项功能。所有的这些都需要在 config.in 文件中用配置语言来编写配置脚本,
在 Linux 内核中,配置命令有多种方式:
配置命令 解释脚本
Make config, make oldconfig scripts/Configure
Make menuconfig scripts/Menuconfig
Make xconfig scripts/tkparse
以字符界面配置(make config)为例,顶层 Makefile 调用 scripts/Configure, 按照 arch/arm/config.in 来进行配置。命令执行完后产生文件 .config,其中保存着配置信息。下一次再做 make config 将产生新的 .config 文件,原 .config 被改名为 .config.old
3.2 配置语言
1) 顶层菜单
mainmenu_name /prompt/ /prompt/ 是用'或"包围的字符串,'与"的区别是'…'中可使用$引用变量的值。mainmenu_name 设置最高层菜单的名字,它只在 make xconfig 时才会显示。
2) 询问语句
bool /prompt/ /symbol/
hex /prompt/ /symbol/ /word/
int /prompt/ /symbol/ /word/
string /prompt/ /symbol/ /word/
tristate /prompt/ /symbol/
询问语句首先显示一串提示符 /prompt/,等待用户输入,并把输入的结果赋给 /symbol/ 所代表的配置变量。不同的询问语句的区别在于它们接受的输入数据类型不同,比如 bool 接受布尔类型( y 或 n ),hex 接受 16 进制数据。有些询问语句还有第三个参数 /word/,用来给出缺省值。
3) 定义语句
define_bool /symbol/ /word/
define_hex /symbol/ /word/
define_int /symbol/ /word/
define_string /symbol/ /word/
define_tristate /symbol/ /word/
不同于询问语句等待用户输入,定义语句显式的给配置变量 /symbol/ 赋值 /word/。
4) 依赖语句
dep_bool /prompt/ /symbol/ /dep/ ...
dep_mbool /prompt/ /symbol/ /dep/ ...
dep_hex /prompt/ /symbol/ /word/ /dep/ ...
dep_int /prompt/ /symbol/ /word/ /dep/ ...
dep_string /prompt/ /symbol/ /word/ /dep/ ...
dep_tristate /prompt/ /symbol/ /dep/ ...
与询问语句类似,依赖语句也是定义新的配置变量。不同的是,配置变量/symbol/的取值范围将依赖于配置变量列表/dep/ …。这就意味着:被定义的配置变量所对应功能的取舍取决于依赖列表所对应功能的选择。以dep_bool为例,如果/dep/ …列表的所有配置变量都取值y,则显示/prompt/,用户可输入任意的值给配置变量/symbol/,但是只要有一个配置变量的取值为n,则 /symbol/被强制成n。
不同依赖语句的区别在于它们由依赖条件所产生的取值范围不同。
5) 选择语句
choice /prompt/ /word/ /word/
choice 语句首先给出一串选择列表,供用户选择其中一种。比如 Linux for ARM 支持多种基于 ARM core 的 CPU,Linux 使用 choice 语句提供一个 CPU 列表,供用户选择:
choice 'ARM system type'
"Anakin CONFIG_ARCH_ANAKIN
Archimedes/A5000 CONFIG_ARCH_ARCA5K
Cirrus-CL-PS7500FE CONFIG_ARCH_CLPS7500
……
SA1100-based CONFIG_ARCH_SA1100
Shark CONFIG_ARCH_SHARK" RiscPC
Choice 首先显示 /prompt/,然后将 /word/ 分解成前后两个部分,前部分为对应选择的提示符,后部分是对应选择的配置变量。用户选择的配置变量为 y,其余的都为 n。
6) if语句
if [ /expr/ ] ; then
/statement/
...
fi
if [ /expr/ ] ; then
/statement/
...
else
/statement/
...
fi
if 语句对配置变量(或配置变量的组合)进行判断,并作出不同的处理。判断条件 /expr/ 可以是单个配置变量或字符串,也可以是带操作符的表达式。操作符有:=,!=,-o,-a 等。
7) 菜单块(menu block)语句
mainmenu_option next_comment
comment '…..'
…
endmenu
引入新的菜单。在向内核增加新的功能后,需要相应的增加新的菜单,并在新菜单下给出此项功能的配置选项。Comment 后带的注释就是新菜单的名称。所有归属于此菜单的配置选项语句都写在 comment 和 endmenu 之间。
8) Source 语句
source /word/
/word/ 是文件名,source 的作用是调入新的文件。
3.3 缺省配置
Linux 内核支持非常多的硬件平台,对于具体的硬件平台而言,有些配置就是必需的,有些配置就不是必需的。另外,新增加功能的正常运行往往也需要一定的先决条件,针对新功能,必须作相应的配置。因此,特定硬件平台能够正常运行对应着一个最小的基本配置,这就是缺省配置。
Linux 内核中针对每个 ARCH 都会有一个缺省配置。在向内核代码增加了新的功能后,如果新功能对于这个 ARCH 是必需的,就要修改此 ARCH 的缺省配置。修改方法如下(在 Linux 内核根目录下):
1. 备份 .config 文件
2. cp arch/arm/deconfig .config
3. 修改 .config
4. cp .config arch/arm/deconfig
5. 恢复 .config
如果新增的功能适用于许多的 ARCH,只要针对具体的 ARCH,重复上面的步骤就可以了。
3.4 help file
大家都有这样的经验,在配置 Linux 内核时,遇到不懂含义的配置选项,可以查看它的帮助,从中可得到选择的建议。下面我们就看看如何给给一个配置选项增加帮助信息。
所有配置选项的帮助信息都在 Documentation/Configure.help 中,它的格式为:
4. 实例
对于一个开发者来说,将自己开发的内核代码加入到 Linux 内核中,需要有三个步骤。首先确定把自己开发代码放入到内核的位置;其次,把自己开发的功能增加到 Linux 内核的配置选项中,使用户能够选择此功能;最后,构建子目录 Makefile,根据用户的选择,将相应的代码编译到最终生成的 Linux 内核中去。下面,我们就通过一个简单的例子--test driver,结合前面学到的知识,来说明如何向 Linux 内核中增加新的功能。
4.1 目录结构
test driver 放置在 drivers/test/ 目录下:
$cd drivers/test
$tree
.
|-- Config.in
|-- Makefile
|-- cpu
| |-- Makefile
| `-- cpu.c
|-- test.c
|-- test_client.c
|-- test_ioctl.c
|-- test_proc.c
|-- test_queue.c
`-- test
|-- Makefile
`-- test.c
4.2 配置文件
1) drivers/test/Config.in
#
# TEST driver configuration
#
mainmenu_option next_comment
comment 'TEST Driver'
bool 'TEST support' CONFIG_TEST
if [ "$CONFIG_TEST" = "y" ]; then
tristate 'TEST user-space interface' CONFIG_TEST_USER
bool 'TEST CPU ' CONFIG_TEST_CPU
fi
endmenu
由于 test driver 对于内核来说是新的功能,所以首先创建一个菜单 TEST Driver。然后,显示 "TEST support",等待用户选择;接下来判断用户是否选择了 TEST Driver,如果是(CONFIG_TEST=y),则进一步显示子功能:用户接口与 CPU 功能支持;由于用户接口功能可以被编译成内核模块,所以这里的询问语句使用了 tristate(因为 tristate 的取值范围包括 y、n 和 m,m 就是对应着模块)。
2) arch/arm/config.in
在文件的最后加入:source drivers/test/Config.in,将 TEST Driver 子功能的配置纳入到 Linux 内核的配置中。
4.3 Makefile
1)drivers/test/Makefile
# drivers/test/Makefile
#
# Makefile for the TEST.
#
SUB_DIRS :=
MOD_SUB_DIRS := $(SUB_DIRS)
ALL_SUB_DIRS := $(SUB_DIRS) cpu
L_TARGET := test.a
export-objs := test.o test_client.o
obj-$(CONFIG_TEST) += test.o test_queue.o test_client.o
obj-$(CONFIG_TEST_USER) += test_ioctl.o
obj-$(CONFIG_PROC_FS) += test_proc.o
subdir-$(CONFIG_TEST_CPU) += cpu
include $(TOPDIR)/Rules.make
clean:
for dir in $(ALL_SUB_DIRS); do make -C $$dir clean; done
rm -f *.[oa] .*.flags
drivers/test 目录下最终生成的目标文件是 test.a。在 test.c 和 test-client.c 中使用了 EXPORT_SYMBOL 输出符号,所以 test.o 和 test-client.o 位于 export-objs 列表中。然后,根据用户的选择(具体来说,就是配置变量的取值),构建各自对应的 obj-* 列表。由于 TEST Driver 中包一个子目录 cpu,当 CONFIG_TEST_CPU=y(即用户选择了此功能)时,需要将 cpu 目录加入到 subdir-y 列表中。
2)drivers/test/cpu/Makefile
# drivers/test/test/Makefile
#
# Makefile for the TEST CPU
#
SUB_DIRS :=
MOD_SUB_DIRS := $(SUB_DIRS)
ALL_SUB_DIRS := $(SUB_DIRS)
L_TARGET := test_cpu.a
obj-$(CONFIG_test_CPU) += cpu.o
include $(TOPDIR)/Rules.make
clean:
rm -f *.[oa] .*.flags
3)drivers/Makefile
……
subdir-$(CONFIG_TEST) += test
……
include $(TOPDIR)/Rules.make
在 drivers/Makefile 中加入 subdir-$(CONFIG_TEST)+= test,使得在用户选择 TEST Driver 功能后,内核编译时能够进入 test 目录。
4)Makefile
……
DRIVERS-$(CONFIG_PLD) += drivers/pld/pld.o
DRIVERS-$(CONFIG_TEST) += drivers/test/test.a
DRIVERS-$(CONFIG_TEST_CPU) += drivers/test/cpu/test_cpu.a
DRIVERS := $(DRIVERS-y)
……
在顶层 Makefile 中加入 DRIVERS-$(CONFIG_TEST) += drivers/test/test.a 和 DRIVERS-$(CONFIG_TEST_CPU) += drivers/test/cpu/test_cpu.a。如何用户选择了 TEST Driver,那么 CONFIG_TEST 和 CONFIG_TEST_CPU 都是 y,test.a 和 test_cpu.a 就都位于 DRIVERS-y 列表中,然后又被放置在 DRIVERS 列表中。在前面曾经提到过,Linux 内核文件 vmlinux 的组成中包括 DRIVERS,所以 test.a 和 test_cpu.a 最终可被链接到 vmlinux 中。
5. 参考
1. Document/kbuild/makefiles.txt,Linux Kernel Source code
2. Document/kbuild/config-language.txt,Linux Kernel Source code
3. Contributing to the Linux Kernel--The Linux Configuration System,Linux Journal,http://www.linuxjournal.com/categories.php?op=newindex&catid=178
4. Unreliable Guide To Hacking The Linux Kernel,Paul Rusty Russell,rusty@rustcorp.com.au
关于作者
汤凯,通过tangk73@hotmail.com可以跟他联系。
来自:www-900.ibm.com
Knoppix 提供了一个可引导的、容量为一张光盘的 Linux
Knoppix 提供了一个可引导的、容量为一张光盘的 Linux
解决大问题的小型分发版
Cameron Laird(claird@phaseit.net)
副总裁,Phaseit, Inc.
2003 年 2 月 4 日
如果您曾经希望获得一个能够运行的便携式 Linux 安装,并且它可以在任何硬件上以相同的方式运行,那么请继续阅读本文。Knoppix 将一个专门的、非常有用的 Linux 分发版打包在了一张可引导的 CD-ROM 上。
计算机应当为人服务,但是在很多情况下这种关系被颠倒过来了。但是,诸如 Knoppix 和 Live Eval 这样的技术阐明了一条途径,通过该途径 Linux 从根本上改变了计算的“交易条款”。
Knoppix 能够为您可能会遇到的各种常见情况提供好处。先让我们了解一下一些在您自己计算中可能需要的 Knoppix 具体应用程序以及相关软件包。
Knoppix 引导 Linux
Knoppix 是一个可引导的 CD。尽管这样的可引导 CD 肯定不止 Knoppix 这一种,但 Knoppix CD 的组织和内容是与众不同的。请设想一些方案。假定您是一位讲师。您要在教室里为学生授课,但是只有半个小时来检查所有硬件,并为这些硬件准备配置。通常会出现这样的情况:课上到一半时,一些演示无法进行了,因为至少一些学生的机器上安装了不一致的服务包(Service Pack),或者是因为硬件从未使用过,或者环境是由头脑不大正常的人定制的。
或者您可能有大量商用硬件(commodity hardware)。没人特别关心所有那些硬件的计算能力 — 除了在每年的超级杯(Super Bowl)或缴税日期(Tax Day)的那几天里,或者可能当您的组织每个季度对北太平洋的天气形势进行大规模模拟时才会去关心。如何才能使所有那些异构主机进行有效的协同工作,同时又不会让您为乏味冗长的配置工作投入太多时间呢?
可能您就是一位经常出差的人士;您经常到处旅行,并且乐于使用任何可用的台式机,但是,实际上您发现这些台式机中极少装有满足您最低工作环境条件所必需的软件。您可能希望有一种快速的方法设置安全性扫描程序、装备精良的办公自动化台式机(在建立了防火墙的内部网络上),或者安全的服务器。或者也可能经常要求您检查带有疑难杂症的用户级的机器。如果只运用一套固定的诊断方法就能解决问题,那么您就无须过于依赖最终用户的推测,如“调制解调器中毒了,是吗?”。
这是一些 Knoppix 可以简单地解决的情形,而对于其它工具来说可能比较棘手。Knoppix 发明人 — Klaus Knopper 本身就是一位教员,据他回忆,他是在“1999 年到 2000 年间”开始开发 Knoppix 项目的,将其作为一个培训项目,以满足他自己的需求。
2003 年初,主要的 Knoppix 产品是一个引导到 GNU/Linux 的开放源码 CD-ROM。在检测硬件和安装正确的驱动程序方面,它是相当有效和快捷的,而且它可以“聪明”地使用实时解压缩,来为大约 2 GB 大小的应用程序和数据腾出空间。此外,正如 Knopper 所说的,Knoppix 的主要特性之一是“用于软件集以及所有由我编写的脚本和工具的 GPL 许可证,该许可证允许接受者独立修改、分发和销售 CD”。
尽管如此,这个简单的描述还是掩盖了大量的信息。虽然 Linux 老手们经常试验可引导的介质,并且许多应用程序依赖于数据压缩,但是 Knoppix 展示了一个非凡的优点。它很简单,但这只是因为 Knopper 和其他一些项目志愿参与者在构造它的时候非常注重它的简易性。
Knoppix 特性
考虑下面这些要点:
* Knoppix 非常快捷。大多数 Knoppix 用户都提到它在普通的硬件上引导时间低于两分钟。一个用户告诉我:“把 CD 放入光驱,等上一两分钟,就会出现一个运行着大量应用程序的 KDE”。那就是 Knoppix 的目标:在无须用户交互的情况下,它引导到运行级 5,并启动 X 和 KDE。
* Knoppix 很全面。它包含大量硬件驱动程序集和为检测这些驱动程序而精心制作的工具,以便普通的主机在引导时所有的硬件都处于可运行状态。Knoppix 不仅可以识别各种图形卡和鼠标,而且还可以识别各种声卡、调制解调器及 USB 和 SCSI 设备。软件包括 OpenOffice、安全性应用程序和 GIMP,涵盖了各种常见需求。
* Knoppix 使用起来很方便。它根据广受好评的 Debian 分发版改写的。作为一个 CD-ROM,它是用 iso9660 而不是(只读的)ext2 格式化的(考虑到 ISO 标准比较成熟)。
* Knoppix 的适应性很强。早期的 Knoppix 变体是一张“可引导的名片”— 外型规格中的一个“救援”或“存活”Linux 系统。
* Knoppix 非常灵活。它可以在诸如远程引导这样的环境中执行正确的工作。例如,不带 CD-ROM 驱动器,但是带有支持 Linux 的可引导网卡的客户机可以通过 PXE 从正在运行 Knoppix 的服务器进行远程引导。
* Knoppix 很有“礼貌”。Knopper 在安全性方面很有造诣。Knoppix 开始将其主机的海量存储器作为只读存储器。利用 Knoppix,您可以执行非常有用的工作 — 跟踪网络安全性问题、准备和分发备忘录,或者查看已下载的多媒体演示文稿 — 请您相信:一旦您取出 CD-ROM,主机系统将返回到它的正常操作。
* Knoppix 是自由的。它的标准版本,以及用于构造它的软件都是开放源码的。Knopper 还为那些使用特殊许可证、特殊配置或有其它所有权需求的人定制 Knoppix。
本文后面的参考资料一节提供了其它几种有趣的 Knoppix 用法。顾问 Rolf Ade 告诉我 Knoppix 是如何伴随他的购物之旅的:“随身携带一张 Knoppix CD 真的很棒,如果您希望购买一台新的 Intel 机器来运行 Linux。只需用 Knoppix CD 引导新机器,您就会知道是否存在支持它所有硬件的 Linux 驱动程序。”
许多人喜欢将 Knoppix 当成是最可能的 Debian 安装程序。Knopper 还打算允许 Knoppix 配置终端服务器。
开始使用 Knoppix
开始自己使用 Knoppix 的最简单方法是使用公开出售的 CD-ROM。在北欧、美国和澳大利亚,大约有二十家分销商经销 Knoppix CD(包括 beta 测试版)。
如果您有宽带可以烧制光盘,那么您可以下载超过 600-MB 的 Knoppix ISO 映象,该映象可以通过 Knoppix 下载/订购页面(请参阅参考资料)免费下载。世界各地都有镜像站点。请记住,您可以从任何操作系统烧制 CD-ROM;制作 Knoppix CD 时无需 Linux。
一旦手边有了标准的 Knoppix CD-ROM,您差不多已跨入 Linux 的天地了。您所需的全部东西就是一台具备 PC 级别能力的机器:80486 或更高、至少 20 MB RAM(尽管如果少于 128 MB,您将不得不放弃办公软件产品,可能还要放弃桌面管理器,或者甚至是 X11 服务器)、标准的 SVGA 和一种引导方式。即使没有这些,通常也可以使用 Knoppix。但是,首先看看常规的情形:
* 如果从 CD-ROM 引导 PC,放入 Knoppix CD,那么两分钟后您将拥有一个可识别的、有用的 Linux。许多 BIOS 都具备从 CD-ROM 引导的能力,但可能并未这样配置。在这种情况下,您可能需要重新启动 PC,然后在启动的时候按 Delete 或另一个特定于硬件的键来进入“BIOS setup”或“BIOS features”。当您配置引导介质的时候,请记住,不必将 CD-ROM 设置为唯一的引导介质,甚至不必将 CD-ROM 设为第一个引导介质;在启动顺序中将软盘驱动器排在 CD-ROM 前也很不错。您所需的全部工作就是确保 CD-ROM 是作为一个可识别的引导源出现。保存新配置,这样您就可以准备启动了。
* 另一种方案是从一张可识别 CD-ROM 的软盘进行引导,然后把引导控制交给 CD-ROM。这些软盘通常称为“启动软盘”。Knoppix 映象文件包含一个“rawrite”程序,可使用该程序准备这样的软盘。
如果 Knoppix 可以很好地为您工作,那么下一步很自然地您会希望更改它。尽管 Knoppix 的定制不是秘密,但是对该项目所进行的大多数工作已经使标准安装具备了“防弹”功能。在几种截然不同的改变 Knoppix 的方法中,极有可能引起最广泛兴趣的是重新灌录(remastering),在该过程中,您可以用自己的软件代替标准 Knoppix CD-ROM 上的某一个部分。2002 年末,Jubal John 准备了一份权威的“How to remaster ……”文档,参考资料列出了该文档。定制过程相当精细,并且很复杂,以致于无法在这做简要的描述。主要困难在于,如果任何事情发生错误,那么磁盘分区的低级管理将危及系统完整性。
可以替代 Knoppix 的产品
我非常热衷于 Knoppix,而且象我这样的发烧友也很多。我收到过许多管理员和网络管理员的来信,他们对 Knoppix 也怀有如此深的感情:“没有 Knoppix,就走不出家门了”。任何在一个完全动态的环境中进行操作的 Linux 专业人员或业余爱好者 — 即使只是偶尔需要在其它设备上运行 — 都应该试用 Knoppix 的副本。这样做的成本几乎为零,而潜在的收益和便利却很多。
已经证实 Knoppix 对于商业创新也很“友好”。Knopper 说“有很多 Knoppix 派生产品;有些已经由购买者发布,而有些只在某个公司内部使用。是否发布其购买的自由软件产品由消费者自己决定,因为 GPL 不要求您发布或分发定制的版本,甚至不强求您在同一个介质上只包含免费软件。因此,一些公司使用 Knoppix 作为其免费软件的平台,或者也可作为其专有软件的平台,以便向潜在的客户展示其产品的演示版本,而不必在可以使用前争论是否在硬盘上进行安装。”
但是,请注意,对于一些特殊的 Knoppix 应用情况,一些其它软件或许可以提供更好的服务。参考资料一节展示了其中的一些替代产品。例如,如果您多是使用比较旧的设备,那么 Knoppix 可能就不实用。Knoppix 的标准配置需要太多内存 — 32 MB 是不够的。在这种情况下,诸如 muLinux 这样的项目可能会更有帮助。
也可以将 Knoppix 看成是“最小公分母”:它的目的是为了让计算机在尽可能少的延迟或人员辅助的情况下运行。跟其它结果一样,这意味着在应用 KDE 之前,标准 Knoppix 不会让用户有机会配置外来视频或网络设置。
诸如 SuSE 的 Live Eval 这样的产品采用了不同的方法。Live Eval 旨在从一个 CD-ROM 尽可能模拟完整的 SuSE 分发版。特别地,它希望在确定其引导顺序和配置时能与用户进行交互。这样提供了更大的灵活性,但是刚好有一位有经验的 SuSE 工程师告诉我,如果 Live Eval 和 Knoppix 完成同样的引导任务,通常 Live Eval 大约要花费 7 分钟时间,而 Knoppix 花费的时间通常不到 2 分钟。另一方面,Live Eval 会话使我们可以更精确地看到在标准的工作环境中使用一个功能齐全的 Linux 分发版的情况。
Pascal Scheffers(Erasmus University 的一名程序员)却描述了另一种 Knoppix 和供应商产品提供了不同的解决方案的情形。假定您需要测试产品的安装。如果手头的工具是 Knoppix,您可能会使用一台主机专门进行安装测试,并可能使用 Ghost(或 Ghost-for-Unix)来帮助使安装自动化。Knoppix 为使用主机提供了一个标准的起点。
对于这类问题,Scheffers 喜欢使用 VMware 及其“非持久”选项。VMware 可以在特定的会话中管理操作系统、进行安装,然后将所有更改回滚到它们的初始状态。
结束语
Knoppix 可以解决许多问题 — 至少可以解决我经常遇到的许多问题。
除此之外,我还喜欢 Knoppix 使人们重新控制计算机的方式。现在许多用户都习惯于相信:比方说,准备一份简单的幻灯片演示文稿需要对硬件和软件进行昂贵和耗时的升级,以及费力地进行安装和配置。如果某件事出错了,就会把它当成一个谜,可能只有通过从零开始才能解决它。无论如何,人们都得等待,而计算机按照它们自己的计划在运行。
Knoppix 与那些令人伤心的情形完全不同,它体现了 Linux 开放和灵活的优点。Knoppix 可以管理各种硬件,并且可以迅速地使这些硬件进入工作状态。那是一个值得效仿的典范。
非常感谢 SuSE 的 Gernot Hillier、Brett Schwarz、Larry Virden 和 Joe Mistachkin,感谢他们在我编写本篇 Knoppix 简介过程中对我的帮助。
参考资料
* “Knoppix — Live Linux Filesystem on CD”是 Knoppix 的英文主页。
* Knopper 的 Annual Linux Showcase 2000 上的演讲文稿描述了一打有用的 Knoppix 应用,以及 Knoppix 的联网和安全性功能。
* LINUXISO.ORG 致力于 ISO 9660 CD-ROM 及其如何用于 Linux 的主题。它演示了如何使用诸如 Nero 和 Toast 这样的程序来烧制 CD。
* Luigi Bitonti、Morten Kjeldgaard 和 Peter von der Ah 就如何烧制 Linux 的 CD-ROM 提供了一份独立的 How To。
* 根据 Knoppix-customize 主页的介绍,“Knoppix-customize 是一个程序,它允许您更改 Knoppix ISO 映象的引导选项和文件,或者在不重新灌录的情况下引导磁盘”。
* “如何重新灌录 Knoppix 以包含 GNUmed 和其它医疗软件”是了解如何制作您自己的演示 CD 的最佳场所。
* Gnome.org 提供了有关 Knoppix 重新灌录和定制的另一个介绍页面。
* Live-Eval 是 SuSE Linux 的一个版本,它“完全从可引导 CD 运行,并且不安装在硬盘上”。它作为一个 ISO 映象可免费下载。
* Coollinux 和 DemoLinux 是其它两个 CD-ROM,它们可以引导至完整的、能正常运行的系统。
* “Etlinux 是一个完全基于 Linux 的系统,旨在非常小型的工业计算机上运行。它的设计标准是小型、模块化、灵活和完整”。其中,这里的“灵活”指,使 Etlinux 尽可能多地实现脚本化。
* 据 MuLinux 主页介绍,“MuLinux 是一种要求最低的 Linux 分发版”。MuLinux El-Torito 是最新的 MuLinux 修订版。Knoppix 使用 El-Torito 的 LILO 作为其初始引导进程。此外,Lepton 是一个基于 2.4 内核的单张软盘 MuLinux 实验版本。
* “A Guided Tour of a Linux Boot”和“How does Linux boot?”阐明了 Knoppix 实现背后的大多数概念。
* 在 Windows 世界中,通常会使用 Symantec 的 Ghost 使安装、应用程序部署和用户迁移自动化。它的最初形式是 DOS 实用程序,可以从单个备份映象提供多个安装。
* Ghost 4 Unix(g4u)是一个有趣的磁盘克隆程序。尽管它做的工作与 Knoppix 完全不同,但是许多使用 Knoppix 的人同样会对它感兴趣。例如,您想对实验室中的许多机器进行相同设置,那么使用 g4u 就挺好。
* VMware 是用于“虚拟”操作系统的几个产品之一。本文作者近来在 developerWorks 上发表的有关交叉编译的专栏文章中描述了其它产品。
* Tomsrtbt 是另一个可以从一张软盘上引导 Linux 的实验版本。
* KDE 是 Knoppix 引导进入的桌面。
* FAQ: PreBoot Execution Environment 说明了通常称为“PXE”(或“PiXiE”)的 Intel 规范。PXE 允许联网的计算机从中央服务器装入和执行网络自举程序(NBP)。searchNetworking.com 提供了有关该主题的更多信息。
* “Knoppix Hard Disk Installation HOWTO”介绍了如何使用 Knoppix 作为 Debian 的安装程序。将 Knoppix 安装在硬盘上会使访问和操作比从 CD-ROM 工作时进行的更快。
* Gnumed 是一个创建和分发开放源码医疗应用软件的项目,其演示 CD-ROM 以 Knoppix 为基础。
* 此外,如果您阅读“用户模式 Linux 简介”,您将学会如何管理 Linux 映象以使它不会扰乱主机上的其它安装。
* TopologiLinux 是旨在在 DOS 或 Windows 安装中运行的几个 Linux 分发版之一。TopologiLinux 基于 Slackware 9,支持 NTFS 和 FAT。这类分发版的一个用途就是提供标准化的 Linux 工作空间,而又不会扰乱标准配置的现有桌面。因此,它的用途有点类似 Knoppix。
* “技巧:双引导 Linux”展示了如何在一台机器上设置多个可引导的 Linux 实例。
* IBM VMware ESX Server 让您可以在一台 xSeries 服务器上运行几个作为虚拟机的操作系统。更多信息,请访问 IBM and VMware 页面。
* 在 developerWorks Linux 专区中可以找到更多用于 Linux 开发人员的参考资料。
关于作者
Cameron 是 Phaseit, Inc. 的全职顾问,他经常就开放源码和其它技术主题撰写文章和发表演讲。他自己的开发工作经常涉及到的轻量级但集成可靠的现有组件。可以通过 claird@phaseit.net 与 Cameron 联系。
来自:www-900.ibm.com
解决大问题的小型分发版
Cameron Laird(claird@phaseit.net)
副总裁,Phaseit, Inc.
2003 年 2 月 4 日
如果您曾经希望获得一个能够运行的便携式 Linux 安装,并且它可以在任何硬件上以相同的方式运行,那么请继续阅读本文。Knoppix 将一个专门的、非常有用的 Linux 分发版打包在了一张可引导的 CD-ROM 上。
计算机应当为人服务,但是在很多情况下这种关系被颠倒过来了。但是,诸如 Knoppix 和 Live Eval 这样的技术阐明了一条途径,通过该途径 Linux 从根本上改变了计算的“交易条款”。
Knoppix 能够为您可能会遇到的各种常见情况提供好处。先让我们了解一下一些在您自己计算中可能需要的 Knoppix 具体应用程序以及相关软件包。
Knoppix 引导 Linux
Knoppix 是一个可引导的 CD。尽管这样的可引导 CD 肯定不止 Knoppix 这一种,但 Knoppix CD 的组织和内容是与众不同的。请设想一些方案。假定您是一位讲师。您要在教室里为学生授课,但是只有半个小时来检查所有硬件,并为这些硬件准备配置。通常会出现这样的情况:课上到一半时,一些演示无法进行了,因为至少一些学生的机器上安装了不一致的服务包(Service Pack),或者是因为硬件从未使用过,或者环境是由头脑不大正常的人定制的。
或者您可能有大量商用硬件(commodity hardware)。没人特别关心所有那些硬件的计算能力 — 除了在每年的超级杯(Super Bowl)或缴税日期(Tax Day)的那几天里,或者可能当您的组织每个季度对北太平洋的天气形势进行大规模模拟时才会去关心。如何才能使所有那些异构主机进行有效的协同工作,同时又不会让您为乏味冗长的配置工作投入太多时间呢?
可能您就是一位经常出差的人士;您经常到处旅行,并且乐于使用任何可用的台式机,但是,实际上您发现这些台式机中极少装有满足您最低工作环境条件所必需的软件。您可能希望有一种快速的方法设置安全性扫描程序、装备精良的办公自动化台式机(在建立了防火墙的内部网络上),或者安全的服务器。或者也可能经常要求您检查带有疑难杂症的用户级的机器。如果只运用一套固定的诊断方法就能解决问题,那么您就无须过于依赖最终用户的推测,如“调制解调器中毒了,是吗?”。
这是一些 Knoppix 可以简单地解决的情形,而对于其它工具来说可能比较棘手。Knoppix 发明人 — Klaus Knopper 本身就是一位教员,据他回忆,他是在“1999 年到 2000 年间”开始开发 Knoppix 项目的,将其作为一个培训项目,以满足他自己的需求。
2003 年初,主要的 Knoppix 产品是一个引导到 GNU/Linux 的开放源码 CD-ROM。在检测硬件和安装正确的驱动程序方面,它是相当有效和快捷的,而且它可以“聪明”地使用实时解压缩,来为大约 2 GB 大小的应用程序和数据腾出空间。此外,正如 Knopper 所说的,Knoppix 的主要特性之一是“用于软件集以及所有由我编写的脚本和工具的 GPL 许可证,该许可证允许接受者独立修改、分发和销售 CD”。
尽管如此,这个简单的描述还是掩盖了大量的信息。虽然 Linux 老手们经常试验可引导的介质,并且许多应用程序依赖于数据压缩,但是 Knoppix 展示了一个非凡的优点。它很简单,但这只是因为 Knopper 和其他一些项目志愿参与者在构造它的时候非常注重它的简易性。
Knoppix 特性
考虑下面这些要点:
* Knoppix 非常快捷。大多数 Knoppix 用户都提到它在普通的硬件上引导时间低于两分钟。一个用户告诉我:“把 CD 放入光驱,等上一两分钟,就会出现一个运行着大量应用程序的 KDE”。那就是 Knoppix 的目标:在无须用户交互的情况下,它引导到运行级 5,并启动 X 和 KDE。
* Knoppix 很全面。它包含大量硬件驱动程序集和为检测这些驱动程序而精心制作的工具,以便普通的主机在引导时所有的硬件都处于可运行状态。Knoppix 不仅可以识别各种图形卡和鼠标,而且还可以识别各种声卡、调制解调器及 USB 和 SCSI 设备。软件包括 OpenOffice、安全性应用程序和 GIMP,涵盖了各种常见需求。
* Knoppix 使用起来很方便。它根据广受好评的 Debian 分发版改写的。作为一个 CD-ROM,它是用 iso9660 而不是(只读的)ext2 格式化的(考虑到 ISO 标准比较成熟)。
* Knoppix 的适应性很强。早期的 Knoppix 变体是一张“可引导的名片”— 外型规格中的一个“救援”或“存活”Linux 系统。
* Knoppix 非常灵活。它可以在诸如远程引导这样的环境中执行正确的工作。例如,不带 CD-ROM 驱动器,但是带有支持 Linux 的可引导网卡的客户机可以通过 PXE 从正在运行 Knoppix 的服务器进行远程引导。
* Knoppix 很有“礼貌”。Knopper 在安全性方面很有造诣。Knoppix 开始将其主机的海量存储器作为只读存储器。利用 Knoppix,您可以执行非常有用的工作 — 跟踪网络安全性问题、准备和分发备忘录,或者查看已下载的多媒体演示文稿 — 请您相信:一旦您取出 CD-ROM,主机系统将返回到它的正常操作。
* Knoppix 是自由的。它的标准版本,以及用于构造它的软件都是开放源码的。Knopper 还为那些使用特殊许可证、特殊配置或有其它所有权需求的人定制 Knoppix。
本文后面的参考资料一节提供了其它几种有趣的 Knoppix 用法。顾问 Rolf Ade 告诉我 Knoppix 是如何伴随他的购物之旅的:“随身携带一张 Knoppix CD 真的很棒,如果您希望购买一台新的 Intel 机器来运行 Linux。只需用 Knoppix CD 引导新机器,您就会知道是否存在支持它所有硬件的 Linux 驱动程序。”
许多人喜欢将 Knoppix 当成是最可能的 Debian 安装程序。Knopper 还打算允许 Knoppix 配置终端服务器。
开始使用 Knoppix
开始自己使用 Knoppix 的最简单方法是使用公开出售的 CD-ROM。在北欧、美国和澳大利亚,大约有二十家分销商经销 Knoppix CD(包括 beta 测试版)。
如果您有宽带可以烧制光盘,那么您可以下载超过 600-MB 的 Knoppix ISO 映象,该映象可以通过 Knoppix 下载/订购页面(请参阅参考资料)免费下载。世界各地都有镜像站点。请记住,您可以从任何操作系统烧制 CD-ROM;制作 Knoppix CD 时无需 Linux。
一旦手边有了标准的 Knoppix CD-ROM,您差不多已跨入 Linux 的天地了。您所需的全部东西就是一台具备 PC 级别能力的机器:80486 或更高、至少 20 MB RAM(尽管如果少于 128 MB,您将不得不放弃办公软件产品,可能还要放弃桌面管理器,或者甚至是 X11 服务器)、标准的 SVGA 和一种引导方式。即使没有这些,通常也可以使用 Knoppix。但是,首先看看常规的情形:
* 如果从 CD-ROM 引导 PC,放入 Knoppix CD,那么两分钟后您将拥有一个可识别的、有用的 Linux。许多 BIOS 都具备从 CD-ROM 引导的能力,但可能并未这样配置。在这种情况下,您可能需要重新启动 PC,然后在启动的时候按 Delete 或另一个特定于硬件的键来进入“BIOS setup”或“BIOS features”。当您配置引导介质的时候,请记住,不必将 CD-ROM 设置为唯一的引导介质,甚至不必将 CD-ROM 设为第一个引导介质;在启动顺序中将软盘驱动器排在 CD-ROM 前也很不错。您所需的全部工作就是确保 CD-ROM 是作为一个可识别的引导源出现。保存新配置,这样您就可以准备启动了。
* 另一种方案是从一张可识别 CD-ROM 的软盘进行引导,然后把引导控制交给 CD-ROM。这些软盘通常称为“启动软盘”。Knoppix 映象文件包含一个“rawrite”程序,可使用该程序准备这样的软盘。
如果 Knoppix 可以很好地为您工作,那么下一步很自然地您会希望更改它。尽管 Knoppix 的定制不是秘密,但是对该项目所进行的大多数工作已经使标准安装具备了“防弹”功能。在几种截然不同的改变 Knoppix 的方法中,极有可能引起最广泛兴趣的是重新灌录(remastering),在该过程中,您可以用自己的软件代替标准 Knoppix CD-ROM 上的某一个部分。2002 年末,Jubal John 准备了一份权威的“How to remaster ……”文档,参考资料列出了该文档。定制过程相当精细,并且很复杂,以致于无法在这做简要的描述。主要困难在于,如果任何事情发生错误,那么磁盘分区的低级管理将危及系统完整性。
可以替代 Knoppix 的产品
我非常热衷于 Knoppix,而且象我这样的发烧友也很多。我收到过许多管理员和网络管理员的来信,他们对 Knoppix 也怀有如此深的感情:“没有 Knoppix,就走不出家门了”。任何在一个完全动态的环境中进行操作的 Linux 专业人员或业余爱好者 — 即使只是偶尔需要在其它设备上运行 — 都应该试用 Knoppix 的副本。这样做的成本几乎为零,而潜在的收益和便利却很多。
已经证实 Knoppix 对于商业创新也很“友好”。Knopper 说“有很多 Knoppix 派生产品;有些已经由购买者发布,而有些只在某个公司内部使用。是否发布其购买的自由软件产品由消费者自己决定,因为 GPL 不要求您发布或分发定制的版本,甚至不强求您在同一个介质上只包含免费软件。因此,一些公司使用 Knoppix 作为其免费软件的平台,或者也可作为其专有软件的平台,以便向潜在的客户展示其产品的演示版本,而不必在可以使用前争论是否在硬盘上进行安装。”
但是,请注意,对于一些特殊的 Knoppix 应用情况,一些其它软件或许可以提供更好的服务。参考资料一节展示了其中的一些替代产品。例如,如果您多是使用比较旧的设备,那么 Knoppix 可能就不实用。Knoppix 的标准配置需要太多内存 — 32 MB 是不够的。在这种情况下,诸如 muLinux 这样的项目可能会更有帮助。
也可以将 Knoppix 看成是“最小公分母”:它的目的是为了让计算机在尽可能少的延迟或人员辅助的情况下运行。跟其它结果一样,这意味着在应用 KDE 之前,标准 Knoppix 不会让用户有机会配置外来视频或网络设置。
诸如 SuSE 的 Live Eval 这样的产品采用了不同的方法。Live Eval 旨在从一个 CD-ROM 尽可能模拟完整的 SuSE 分发版。特别地,它希望在确定其引导顺序和配置时能与用户进行交互。这样提供了更大的灵活性,但是刚好有一位有经验的 SuSE 工程师告诉我,如果 Live Eval 和 Knoppix 完成同样的引导任务,通常 Live Eval 大约要花费 7 分钟时间,而 Knoppix 花费的时间通常不到 2 分钟。另一方面,Live Eval 会话使我们可以更精确地看到在标准的工作环境中使用一个功能齐全的 Linux 分发版的情况。
Pascal Scheffers(Erasmus University 的一名程序员)却描述了另一种 Knoppix 和供应商产品提供了不同的解决方案的情形。假定您需要测试产品的安装。如果手头的工具是 Knoppix,您可能会使用一台主机专门进行安装测试,并可能使用 Ghost(或 Ghost-for-Unix)来帮助使安装自动化。Knoppix 为使用主机提供了一个标准的起点。
对于这类问题,Scheffers 喜欢使用 VMware 及其“非持久”选项。VMware 可以在特定的会话中管理操作系统、进行安装,然后将所有更改回滚到它们的初始状态。
结束语
Knoppix 可以解决许多问题 — 至少可以解决我经常遇到的许多问题。
除此之外,我还喜欢 Knoppix 使人们重新控制计算机的方式。现在许多用户都习惯于相信:比方说,准备一份简单的幻灯片演示文稿需要对硬件和软件进行昂贵和耗时的升级,以及费力地进行安装和配置。如果某件事出错了,就会把它当成一个谜,可能只有通过从零开始才能解决它。无论如何,人们都得等待,而计算机按照它们自己的计划在运行。
Knoppix 与那些令人伤心的情形完全不同,它体现了 Linux 开放和灵活的优点。Knoppix 可以管理各种硬件,并且可以迅速地使这些硬件进入工作状态。那是一个值得效仿的典范。
非常感谢 SuSE 的 Gernot Hillier、Brett Schwarz、Larry Virden 和 Joe Mistachkin,感谢他们在我编写本篇 Knoppix 简介过程中对我的帮助。
参考资料
* “Knoppix — Live Linux Filesystem on CD”是 Knoppix 的英文主页。
* Knopper 的 Annual Linux Showcase 2000 上的演讲文稿描述了一打有用的 Knoppix 应用,以及 Knoppix 的联网和安全性功能。
* LINUXISO.ORG 致力于 ISO 9660 CD-ROM 及其如何用于 Linux 的主题。它演示了如何使用诸如 Nero 和 Toast 这样的程序来烧制 CD。
* Luigi Bitonti、Morten Kjeldgaard 和 Peter von der Ah 就如何烧制 Linux 的 CD-ROM 提供了一份独立的 How To。
* 根据 Knoppix-customize 主页的介绍,“Knoppix-customize 是一个程序,它允许您更改 Knoppix ISO 映象的引导选项和文件,或者在不重新灌录的情况下引导磁盘”。
* “如何重新灌录 Knoppix 以包含 GNUmed 和其它医疗软件”是了解如何制作您自己的演示 CD 的最佳场所。
* Gnome.org 提供了有关 Knoppix 重新灌录和定制的另一个介绍页面。
* Live-Eval 是 SuSE Linux 的一个版本,它“完全从可引导 CD 运行,并且不安装在硬盘上”。它作为一个 ISO 映象可免费下载。
* Coollinux 和 DemoLinux 是其它两个 CD-ROM,它们可以引导至完整的、能正常运行的系统。
* “Etlinux 是一个完全基于 Linux 的系统,旨在非常小型的工业计算机上运行。它的设计标准是小型、模块化、灵活和完整”。其中,这里的“灵活”指,使 Etlinux 尽可能多地实现脚本化。
* 据 MuLinux 主页介绍,“MuLinux 是一种要求最低的 Linux 分发版”。MuLinux El-Torito 是最新的 MuLinux 修订版。Knoppix 使用 El-Torito 的 LILO 作为其初始引导进程。此外,Lepton 是一个基于 2.4 内核的单张软盘 MuLinux 实验版本。
* “A Guided Tour of a Linux Boot”和“How does Linux boot?”阐明了 Knoppix 实现背后的大多数概念。
* 在 Windows 世界中,通常会使用 Symantec 的 Ghost 使安装、应用程序部署和用户迁移自动化。它的最初形式是 DOS 实用程序,可以从单个备份映象提供多个安装。
* Ghost 4 Unix(g4u)是一个有趣的磁盘克隆程序。尽管它做的工作与 Knoppix 完全不同,但是许多使用 Knoppix 的人同样会对它感兴趣。例如,您想对实验室中的许多机器进行相同设置,那么使用 g4u 就挺好。
* VMware 是用于“虚拟”操作系统的几个产品之一。本文作者近来在 developerWorks 上发表的有关交叉编译的专栏文章中描述了其它产品。
* Tomsrtbt 是另一个可以从一张软盘上引导 Linux 的实验版本。
* KDE 是 Knoppix 引导进入的桌面。
* FAQ: PreBoot Execution Environment 说明了通常称为“PXE”(或“PiXiE”)的 Intel 规范。PXE 允许联网的计算机从中央服务器装入和执行网络自举程序(NBP)。searchNetworking.com 提供了有关该主题的更多信息。
* “Knoppix Hard Disk Installation HOWTO”介绍了如何使用 Knoppix 作为 Debian 的安装程序。将 Knoppix 安装在硬盘上会使访问和操作比从 CD-ROM 工作时进行的更快。
* Gnumed 是一个创建和分发开放源码医疗应用软件的项目,其演示 CD-ROM 以 Knoppix 为基础。
* 此外,如果您阅读“用户模式 Linux 简介”,您将学会如何管理 Linux 映象以使它不会扰乱主机上的其它安装。
* TopologiLinux 是旨在在 DOS 或 Windows 安装中运行的几个 Linux 分发版之一。TopologiLinux 基于 Slackware 9,支持 NTFS 和 FAT。这类分发版的一个用途就是提供标准化的 Linux 工作空间,而又不会扰乱标准配置的现有桌面。因此,它的用途有点类似 Knoppix。
* “技巧:双引导 Linux”展示了如何在一台机器上设置多个可引导的 Linux 实例。
* IBM VMware ESX Server 让您可以在一台 xSeries 服务器上运行几个作为虚拟机的操作系统。更多信息,请访问 IBM and VMware 页面。
* 在 developerWorks Linux 专区中可以找到更多用于 Linux 开发人员的参考资料。
关于作者
Cameron 是 Phaseit, Inc. 的全职顾问,他经常就开放源码和其它技术主题撰写文章和发表演讲。他自己的开发工作经常涉及到的轻量级但集成可靠的现有组件。可以通过 claird@phaseit.net 与 Cameron 联系。
来自:www-900.ibm.com