July 2009 Archives

Sorting the Computer Wheat from the Chaff

| 36 Comments | No TrackBacks

Some media analysts have admitted to being confused by the fact that companies engaged in the personal computer business, such as Dell and Microsoft, have recently published less-than-stellar financial results and gloomy guidance for the future, while other companies, such as Intel and Apple, are fairly jumping with glee over future prospects. This seeming paradox evaporates, however, as soon as one realizes that the vast majority of computers aren't PCs, anymore.


I talked about one aspect of this phenomenon in this blog's last entry ("The PC as Dodo"). In today's entry, I'll talk about a second trend: embedded systems technology. I've mentioned embedded systems before in this blog, but today I want to get a little deeper into the guts of the things to show how this trend affects so many technology companies so differently.


Embedded systems, as Figure 1 shows, generally embody a control loop where a microcontroller reads signals from sensors attached to some equipment out in the real world (IRL). Based on those sensor readings, the microcontroller calculates some changes it wants to make IRL to control the equipment. The equipment responds to these changing signals, which changes the sensor readings.


Embedded system architecture
Figure 1: Embedded systems include a control loop governed by a microcontroller.



What makes the system a control loop, rather than the proverbial snake swallowing its tail, is the fact that there is a control input, called a set point to which the controller compares the sensor inputs. The controller bases its output signals on how the actual readings from the sensors compare to the set point. In actual fact, there may be several sensors and several set points, and the controller likely will take into account how the sensor inputs are changing with time as well as their instantaneous values. People can select how they want the system to behave by changing the set points.


The classic embedded system that everyone uses as an example is a digital thermostat. This system has one sensor (a temperature sensor sampling the room air), one IRL equipment unit (a heater or air conditioner), and one controller (the digital thermostat). You control the temperature you want to have in the room by changing the temperature set point. Almost any digital thermostat worth its price will also include a time sensor (a clock) that allows you to program different temperature set points depending on the time of day.


What makes this technology important is the fact that embedded systems are now used to control just about every device we have. In the past, I've commented that microcontrollers now run just about every device more complicated than a lead pencil. That may be an exaggeration, but not much of one. To paraphrase the announcer from the old "Chickenman" radio show: "They're everywhere! They're everywhere!"


(If you don't know about Chickenman, you missed one of the great campy entertainment experiences of the mid-1960s. Episodes from the original series and two resurrections are still available for purchase on the Internet.)


Microcontroller architecture.
Figure 2: Microcontrollers include a microprocessor, memory and I/O circuits on a single chip.


The heart of an embedded system is that little microcontroller. Figure 2 shows what's inside a typical microcontroller. It's a monolithic integrated circuit (IC) that has a microprocessor, multiple types of memory, including read-only memory (ROM), random-access memory (RAM) similar to what you see in a PC, along with a programmable read-only memory that holds the software that the microprocessor needs to run, along with several types of input/output circuits to take care of reading sensors, driving actuators, and communicating with the outside world. Many microcontrollers even have microscopic radio sets to communicate wirelessly with other systems.


What sets these things apart is that, unlike the components of a personal computer, all of this circuitry is crammed into one tiny chip. As anyone who's seen a PC with the covers off knows, the PC architecture has its circuitry spread around on a number of ICs. That takes up a lot of space, adds weight, and makes the whole thing bulky. One characteristic that embedded systems, from experimental nanobots to cellphones to television set-top boxes, share is the need to have their controllers as tiny and as light as possible.


Now, the semiconductor companies that make chips for PCs also make chips for embedded systems. The companies that use these chips in their products are more-or-less traditional industrial companies that make dishwashers, microwave ovens, cars, cellphones, etc.


The software these microcontrollers run is not the same as the software PCs run, either. Instead of operating systems like Windows Vista, or Apple Mac OS, they run things like LynxOS, QNX, and VxWorks that most people have never heard of.


In the world of computer technology, embedded systems are where the action is. PCs, for all their historical significance and public share of mind, are a small part of the market with lackluster (at best) growth prospects.


So, companies involved in the embedded system business, such as Intel and Apple, report spectacular profits and predict stellar growth prospects. Companies whose businesses depend on the PC industry complain of shrinking markets and poor future prospects.

The PC as Dodo

| 50 Comments | No TrackBacks

I've just spent some time debating with my book publisher at Whitehorse Press about what we should put into a new chapter to be included in the third edition of my book How to Set Up Your Motorcycle Workshop. The reason there's any debate is because we're in the middle of a change in computer architecture that's bigger than the introduction of the PC. (See my July 8 blog entry "Why a Thin Layer of Chrome Will be the New Thick.")


First of all, I need to specify what I mean by "PC." Some folks want to reserve the term for stand-alone desktop machines running a Windows operating system (OS). I, on the other hand, am old school. To me "PC" is just shorthand for "personal computer," and that means a computer made for personal use by, well, a person. It includes all the offerings of such machines from Acer to Zenith . Main PC OSs include Mac OS, certain distributions of Linux, and, of course, the various versions of Windows. It also includes laptops, tablets, etc. that are just modified packages for computers meant to be used in exactly the same way that the desktop systems are used.


Closely allied are workstations, which are intended for use in an intensive work environment. They are generally connected to an enterprise intranet, rather than directly to the Internet. They usually have enhanced processors and memories, and data-storage capabilities. They generally run larger and more involved programs appropriate to meeting enterprise-level needs.


Also similar to PCs are netbooks, which are essentially stripped-down models intended for thin-client applications, such as surfing the net. They have far less memory storage space, and may even lack hard drives. What distinguishes netbooks from what I call PCs is their intended use as thin-client terminals at the expense of making them practically useless for anything else.


Just as PCs' performance is sandwiched between that of workstations and netbooks, their price range is as well. Workstations are generally more expensive (often several times more expensive) than PCs, while netbooks typically cost far less.


In the past, any introduction to computer use would have to start with choosing an operating system. That's no longer the case, however. The choice of operating system has become pretty much moot, as there's application software available for every popular OS to do pretty much anything, and non-PC architectures are becoming increasingly important.


Advanced networking technologies, such as virtualization and cloud computing, are driving this shift by making it possible to serve up most applications, from email to computational fluid dynamics (CFD) as Web applications. With this technology, the user's computer becomes a thin client - little more than a terminal to display the system's user interface. Since Web applications are OS agnostic, choice of OS to run on your personal computing station (PC, netbook, mobile platform, or whatever) is immaterial.


These are not future technologies. As a technology journalist, I get to see these things develop years before mainstream media. I've been watching these technologies - and using them - for about five years. They are quite ready for prime time, and in regular use by mainstream computer users today.


All major ISPs use virtualization and cloud computing technology to run their operations. Most e-commerce sites are built on MySQL databases. This generation of PCs are capable of virtualization using software downloadable from Xen. Every bank website is a thin-client Web app.


Dell's already seeing PC sales crash. Microsoft's scrambling to react. Apple's already made the transition, as have Google and leading chip makers like Intel.


In the end, PCs as such will be squeezed practically out of existence. Very soon PCs will be dinosaurs. Ordinary folks won't have or want to have them. It'll all be netbooks and mobile computing. Even Kindle may be obsolete before it really gets started! It'll just be an application on next years' iPods and Blackberrys.


What will count will be the application you run, and not the OS.


The trend is moving much faster than I thought it would. I figured we'd still have another 2-3 years for it to roll out. Now it looks more like a matter of months.


The PC, as such, is already dead, the general public just doesn't know it, yet. PC sales will not recover significantly from the present slump. "Computer" sales growth has already moved to other platforms, such as products from Apple, RIM, and Palm.


The media is painting it as a wrestling match between giants: Google vs. Microsoft. Operating system king Microsoft recently introduced a new Bing! browser, followed last night by search engine titan Google's announcement that it's working on an operating system for netbooks.


As usual, the mass media have somewhat missed the mark. What's actually happening is the whole landscape of computing is changing, and a race is on to see who's going to plant their flag on the new territory first.


The change in computing is the steady migration of computer technology from a thick client model to a thin client model for most routine computing needs. If you haven't yet heard about this, yet, let me explain:


Thick Clients are powerful stand-alone computers with network access. To do something useful, you download the file you want to do it to from a server; do it; then upload the file to the server again, keeping (or not) a copy of the updated file on your local computer.


Thin Clients are computers with powerful communications and display capabilities, but which are otherwise pretty anemic by conventional computer-performance standards. To do something useful, you visit an extremely powerful server, which is actually a supercomputer based on cloud-computing architecture (see "Computing With Your Head in the Clouds"). This server creates a virtual computer (See "Virtualization flies under the mass-media radar") with enough resources to run an application program (which it preloads onto the virtual computer) to do whatever it is you want to do with the file (which is stored somewhere in the computing cloud). When you're done doing your thing, the server updates the file and dissolves the virtual computer into - nothing.


Thin clients have been around for a long time. The old time-shared computer terminals we used in the 1970s to access minicomputers were very much like today's thin clients, which you know as netbooks.


The term was coined in the early 1990s by Tim Negris, VP of Server Marketing at Oracle Corp. The technology has been growing in popularity and usefulness ever since. Expect in the future (probably less than 5 years) that this style of computing will be almost universal, with everything from mobile devices to home entertainment centers architected as thin clients allowing users to interface over the Internet with service providers, such as banks, online stores, news providers, and entertainment content providers. I'm already writing this blog entry using exactly this technology!


Don't invest in companies that make personal computers.


So, how does the Google vs. Microsoft struggle fit into this landscape? They both see it coming and want to provide you with the means to partake of its bounties. The problem is that they have competition. All the makers of mobile devices, household appliances, TV set-top-boxes, telecommunications suppliers, and virtually anyone who makes anything with even the potential for Internet connectivity sees it coming, too. Especially, all the Internet service providers building all the computer clouds see it coming. Google and Microsoft are really just struggling to avoid being left behind!


Google does have one advantage, at least relative to Microsoft. Google is wisely basing its Chrome OS on Linux, which is the Open Source leader. To develop application software in a Linux-based thin-client environment, a company can hire a few pimply-faced ex-hackers who learned to roll their own Linux distribution before they reached puberty. Software engineers with expertise in the latest of the never-ending stream of Windows versions are harder to come by.


Basically, the days when anybody cares what operating system or browser your Internet-connected device uses are gone. In the thin-client/cloud-computing world of the future, like in the post-Civil-War land of Gone With the Wind, frankly, my dear, nobody is going to give a damn.

About this Archive

This page is an archive of entries from July 2009 listed from newest to oldest.

June 2009 is the previous archive.

August 2009 is the next archive.

Find recent content on the main index or look in the archives to find all content.