Selecting Hardware for a Linux System
Although Linux software is virtually free, the required hardware isn't. This makes some people hesitate to jump into the Linux movement. But it doesn't need to be complicated, scary or expensive. Linux runs on most common hardware. In this article I will point out how to make the right choices and hopefully keep you away from costly mistakes. If you currently have a system that adequately runs MS-Windows, you probably have all you need for a decent Linux system. Although Linux is more sophisticated than MS-Windows, it doesn't require more hardware. In fact, because Linux is a pre-emptive multi-tasking system (this means that programs can be interrupted to service other requests), you can get a lot more useful work from the same computer. Before I get into specifics, I would like to point out that there is a lot of documentation on Linux. This includes HOWTOs which detail many of the specifics. These HOWTOs are available at Linux archive sites on the Internet, on most CD-ROM Linux distributions and on paper from various sources. A short article is no substitute for the details presented in the HOWTOs. I highly recommend that you get a copy and that you read them.
To run Linux you need a 386 or higher processor. For text-based applications even a slow 386SX system will perform very well. Although the Linux kernel is capable of emulating floating point arithmetic functions, it is significantly slower than a math co-processor; either in the form of a separate chip or a 486DX or better that has a built-in co-processor. The server system at the Linux Journal advertising/editorial offices is a 386DX40. It has proved to be a great performer with three high-speed modem lines connected to it, a local user and 2 or more active telnet sessions. It has 8MB of RAM but an upgrade to 16MB is planned. The system we use for running X-windows is a 486DX33 with 16MB of RAM. The built-in co-processor and additional RAM make this an excellent workstation for compute-intensive work. Linux needs a system that is based on the ISA (AT) or EISA bus. Linux does not support MicroChannel Architecture (MCA) machines such as the IBM PS/2. It does, however, support local bus systems such as VESA and PCI. What you need will depend on what you intend to do with the system. The minimum RAM is 4MB. If you currently have a 386SX with 4MB of RAM, give it a try. It may do all that you want with no investment. If, however, you need to purchase hardware to run Linux, look at higher performance systems such as something based on a 486DX chip and at least 8MB of RAM. The additional cost is not very great for a large performance increase.
There are two considerations: type and size. Linux supports MFM, RLL, ESDI and IDE disks with virtually any controller board. It also supports a fairly wide assortment of SCSI controllers. If you already have a system, you can probably stick with what you have. But, if you are purchasing new hardware, SCSI disks are well worth considering. Here's why: Many of the supported SCSI disk controllers use direct memory access (DMA) to transfer information. Under MS-DOS this has little advantage because MS-DOS (and MS-Windows) waits for input/output operations. On Linux, however, processing is overlapped with I/O. This means that a DMA controller can be transferring data while the CPU is processing other tasks. One of the most popular controllers supported by Linux is the Adaptec AH-1542C. It is relatively inexpensive ($200 range), uses DMA and has reasonable performance. For EISA bus systems, the AH-1742 may be used. If your system has a VESA local bus, the Buslogic 445S controller seems to offer the best performance at a reasonable cost. Other supported SCSI controllers include the Adaptec 152x series, Allways IN2000, Adaptec 1542 clones (including Buslogic 445S and 447S and DTC 3290 and 3292), Seagate ST01 and ST02, Western Digital 7000, Trantor T128 and T130B, Ultrastor 14F and 24F. The SCSI HOWTO has many details that will help you weigh the costs and performance of the various SCSI controllers. Another consideration when choosing between IDE and SCSI disks is that you can have two disks with IDE controllers and with SCSI you can have up to seven. Selecting the disk size requires some forethought about what applications you'll be running. The price of disk storage is dropping, and you can add one or more disks later on (depending upon your disk type). Linux can run on as small a partition as 20MB, but 200MB is a common size. Some applications may require disk sizes of 1GB or more.
If you have a SCSI disk controller, a SCSI-based CD-ROM drive makes the most sense. It plugs into the same controller and works fine. With the advent of double and triple-speed CD-ROM drives, prices have dropped significantly on the single-speed drives which are adequate if all you intend to do is load files from a distribution CD-ROM. And prices for these devices on the surplus market seem to be in the $50-$80 range. If you are not using SCSI disks, using a non-SCSI CD-ROM is more cost-effective. Although others are supported, drives made by Mitsumi (and marketed under many names including BSR and Tandy) work well. They include their own controller card and can usually be found in the $150 price range.
|Dynamic DNS—an Object Lesson in Problem Solving||May 21, 2013|
|Using Salt Stack and Vagrant for Drupal Development||May 20, 2013|
|Making Linux and Android Get Along (It's Not as Hard as It Sounds)||May 16, 2013|
|Drupal Is a Framework: Why Everyone Needs to Understand This||May 15, 2013|
|Home, My Backup Data Center||May 13, 2013|
|Non-Linux FOSS: Seashore||May 10, 2013|
- Dynamic DNS—an Object Lesson in Problem Solving
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Using Salt Stack and Vagrant for Drupal Development
- New Products
- Drupal Is a Framework: Why Everyone Needs to Understand This
- Validate an E-Mail Address with PHP, the Right Way
- A Topic for Discussion - Open Source Feature-Richness?
- New Products
- Download the Free Red Hat White Paper "Using an Open Source Framework to Catch the Bad Guy"
- The Secret Password Is...
3 hours 55 min ago
- Keeping track of IP address
5 hours 45 min ago
- Roll your own dynamic dns
10 hours 59 min ago
- Please correct the URL for Salt Stack's web site
14 hours 10 min ago
- Android is Linux -- why no better inter-operation
16 hours 26 min ago
- Connecting Android device to desktop Linux via USB
16 hours 54 min ago
- Find new cell phone and tablet pc
17 hours 52 min ago
19 hours 21 min ago
- Automatically updating Guest Additions
20 hours 30 min ago
- I like your topic on android
21 hours 16 min ago
Enter to Win an Adafruit Pi Cobbler Breakout Kit for Raspberry Pi
It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Pi Cobbler Breakout Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- 5-21-13, Prototyping Pi Plate Kit: Philip Kirby
- Next winner announced on 5-27-13!
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?