Monday, June 8, 2009

The Front Side Bus, and why it had to die.

A great deal of computer science and computer networking students are at least aware of what the Front Side Bus is. For those of you who aren't, the FSB is essentially a transport system between your processor and your northbridge (which controls memory layouts and mappings). For years the FSB has been a subject of controversy for Intel. AMD had long since abandoned the technology in favor of HyperTransport, eliminating the need for a northbridge chipset by including its memory controller on the processor die itself. On the other side of the fence, Intel continued the use of the FSB to a fault, and had to design processors to mitigate the effects of this outdated technology.

That is, until now.

The new Intel line of processors, Core i7 (Nehalem architecture), have discarded the front side bus by moving the memory controller to the processor die. The release of the Core i7 processors has finally heralded the death of a technology long overdue for retirement.

What does the FSB do anyway?

I know quite a few IT people, and perhaps most of them only have a rudimentary understanding of what the FSB actually does. For those of you who don't know the purpose behind it (It might still be useful to know, for those of you building machines based on Intel Core 2 or earlier CPU architectures), here is a quick and dirty explanation of it.

As I stated earlier, the Front Side Bus is a kind of data channel between your CPU and your northbridge chipset. The northbridge chipset handles memory allocation, mappings, and layouts. If a program makes use of a memory address, the CPU has to communicate across the FSB to the northbridge in order to utilize that memory address.


The problem is that using the Front Side Bus for modern day processors is similar to buying a tricked out Nissan GT-R with 485hp, and never leaving 1st gear. With as much power as a processor such as the Intel Core 2 Quad could pump out, it's limited by the speed at which it must communicate with its memory controller.

Traditionally the speed of the Front Side Bus was measured in megahertz (MHz), but this would only determine the clock frequency of the bus (cycles per second). The performance of the bus, however, is not entirely dependent on clock speed. Other factors must be taken into account, such as the data width of the bus, and the number of data transfers per cycle. The best way to measure bus performance is to calculate the megatransfers per second, or MT/s. If you have a 800MHz FSB, assuming 4 data transfers per cycle, you get 3200 MT/s.

c * d = T

c = FSB Frequency
d = data transfers
T = Megatransfers

What happens to the northbridge now?

Some of you may have already figured it out; future motherboards will eliminate the northbridge entirely. This can be done so long as DMI (Direct Media Interface) is integrated on the processor chip (would look like this)

Okay, so no more FSB. How does the CPU get to RAM then?


I mentioned earlier that the memory controller now resides on the CPU die itself. If one CPU needs to access memory handled by another CPU, it communicates with that CPU using QPI (Quick Path Interconnect). In the case of FSB, the CPU would have had to wait its turn to use the FSB first, then communicate with the northbridge to find memory locations.

Didn't catch that? Here's an analogy:

Imagine that FSB is a two lane highway going to a metropolis, with traffic in both directions. This highway is the ONLY path between the metropolis and 4 large cities. Traffic clogs are frequent, and jam up both lanes.

Now imagine that QPI is a 4-lane highway with a second 4-lane highway right next to it going the other direction. This is only one instance of several separate highway systems connecting each city in a mesh (Six total bi-directional highway systems, in other words, as opposed to FSB's one) so that each city has a dedicated path to the other cities.

While this analogy has its flaws (Feel free to talk about the flaws in a comment), it demonstrates the huge difference between technologies. Overall the elimination is just one step further in the progress to faster speeds all around. It's just one more reason for me to buy a Core i7 processor.

Tuesday, April 28, 2009

Windows 7 Includes Windows XP Mode

It shouldn't surprise anyone that Windows 7 is, for the most part, an expansion to Windows Vista. However, many are not aware that Microsoft intends to remove much of the backwards compatibility that they've so far included with their operating systems. In other words, compatibility mode as we've known it is most likely greatly reduced in functionality.

Now you're probably thinking, "If compatibility mode is changed, how do I run (insert XP app here)?" While it's true that Windows 7 does still have compatibility mode, there's a new feature you're more likely to use: Windows XP Mode. By using a combination of Virtual PC and a Windows XP SP3 license (Both of which will be built in), you'll have a full Windows XP virtual machine available at your disposal. Additionally, this virtual machine will be able to access hardware directly (So maybe my games will work?).

Of course, there is a catch. Windows XP mode will only be available to Professional, Enterprise, and Ultimate editions of Windows 7. There are some concerns over security and support. If you have 100 Windows 7 Enterprise installs, you may have to support 100 additional Windows XP installs. If you're using some sort of enterprise anti-virus software, you may need 200 licenses. And more importantly, even if you secure both machines, the more vulnerable operating system (presumably Windows XP) will still have holes. Should one of those holes provide a vulnerability that allows exploitation of the host operating system, any protection you thought you had is effectively gone.

On the brighter side, this means that Windows XP certifications aren't going to be worthless any time soon. It is important to note that Windows XP mode is not included by default, but it is a free download, provided you have the right Windows edition and system requirements.

Want to see what Windows XP mode looks like? Check it out here!

Monday, March 30, 2009

Ubuntu 9.04: Great OS, or the Greatest OS?

After being on an unofficial hiatus for a while, I'm coming back to give you news about the newest Linux OS from Canonical, set to be released on April 23rd!

As with most Linux users, I've used more than my fair share of distributions. Fedora, Debian, Slackware, etc. The list could quite possibly go on for a few paragraphs if I were to count all the iterations of each distro I've touched. Despite the many variations of distributions in the wild, by far the one with the most hype is Ubuntu. Why? It's more intuitive than most distributions, and it usually has better hardware support thanks to the inclusion of proprietary drivers. The interface is especially polished, and the community support for the distro is massive. Since it's based on Debian, it makes use of one of the most efficient package management systems available on Linux.



So what does all that mean? Ubuntu is the best Linux for a complete Linux newbie to try. Not only that, but it's targeted market is aimed specifically at the average user, so it comes with all the flashy effects and cool gadgets that you'd want it to (compiz, for example)



But for those of you who have used Linux before (and more specifically, Ubuntu 8.10), here's some of the more exciting features coming to Ubuntu 9.04 Jaunty Jackalope.

Gnome 2.26

  • Improved Multi-Monitor support
  • Outlook/Exchange Support (Import your mailbox easily, or connect to Exchange servers!)
  • Media Extender functionality (Play your videos from that extender you bought!)

X.Org 1.6

  • Improved graphics card support
  • New free / open source drivers added
  • Improved stability

Linux Kernel 2.6.28

  • New GPU Memory Manager (Translates to better frame rates during graphics acceleration)
  • EXT4 Filesystem support
  • Improved Memory Manager

Other features

  • New style for notifications (Notifications caused by receiving a new instant message, for example, are handled differently. Click for example)
  • Dramatically improved boot performance (I've heard Ubuntu 9.04 boots in 21.4 seconds on average)
  • Server edition: Easy creation of Cloud Computing environment through Eucalyptus
  • Improved Suspend/Resume support on laptops
Ubuntu still keeps its brown look, which some may not find aesthetically pleasing. Fortunately, Linux has always been easy to theme. As far as features go, I'm most interested in the improved multi-monitor support. There have been one too many times where I wanted to throw another monitor onto my system, but was too lazy to do all the work to debug everything that would inevitably go wrong during setup. Also, the improved boot times will definitely grab most of you (Who wouldn't be impressed by that?)

If you're interested in checking out Ubuntu 9.04 Beta, you can get it here. Remember, you don't have to install Ubuntu to try it out! Once you've burned it to a CD, you can pop it into any computer that supports booting from CD, and you'll be presented with a Live OS (OS running from CD) that is fully functional.

If you try the beta, leave a comment and let us know what you think of it!

Thursday, February 5, 2009

What is Linux, and why should you care?

Here at Yavapai College, we have the Linux Course CNT130 and another course that gives a small introduction to Linux as a network operating system, CNT120. On many separate occasions, those new to Linux have questioned its usefulness. Usually, I hear something like "Yeah, it sounds good in theory, but Linux isn't really used anywhere" or "I've been told that Linux is on the way out". Is this true? No, but rather than just leave you with that, I'm going to give you the evidence to prove it. First though, let's start out by looking at what Linux is.

Linux is a free, open source operating system. Created in 1991 by Linus Torvalds, it is based on MINIX, a flavor of UNIX. UNIX in turn is an operating system was designed by employees at Bell Labs in 1969. Linux has always been designed to be an open operating system. It provides the user with source code materials, which allow the user to do anything from customize his operating system at the code level, to submit bug patches. Companies such as Red Hat, Canonical, and Novell make money from selling support for their Linux distributions.

Linux has changed over the last several years. I began using Linux with Red Hat 8 almost 10 years ago. Many of the issues I ran into required fixes involving a command line interface, and being only 11 at the time, I was overwhelmed. However, those years of experience has allowed me to see the dramatic changes within the Linux operating system. Most issues are no longer present in today's distributions, and most hardware works out of the box. In the past, the Linux GUI was (in my honest opinion) a joke. Linux was a land for hobbyists, command line gurus, hackers, and programmers.

Today however, Linux has an incredible GUI environment (thanks to those who refused to be left behind by Windows) and several different window managers that change the appearance of running programs (KDE, GNOME and XFCE). Linux employed the use of 3D effects on the desktop long before Windows Vista was released, through the Compiz plugin. This plugin has given the Linux users the cube effect, among others. With Windows Vista having been a flop from a business standpoint, Ubuntu and other Linux distributions noticed a very large gain in users.

So, let's get down to it. Where is Linux used most? Although Linux may not have the majority market share in the desktop market, Linux holds the majority in the super-computer OS market and the embedded device market. According to top500.org, 439 of the world's top 500 supercomputers run Linux. This is most likely because Linux allows better control over systems to allow for more performance tweaking than its competitor OS, Windows HPC.

It's not just supercomputers that run Linux. According to netcraft.com, the majority (around 48.38%) of webservers on the internet are running the Apache webserver. Microsoft's IIS has a market share of approximately 33.21%. Of course, that doesn't mean that all webservers running apache are inherently running Linux, but an overwhelming number of them are. Many businesses have long been aware of the power that Linux provides to its users, and with Apache use on the rise, Linux isn't going away as some might believe.

Linux use on embedded platforms is more prevalent than you may realize. In fact, if you've got a Motorolla based cell phone, you could be using Linux. Quite a number of devices use embedded Linux because companies do not have to pay royalty fees / licensing fees to modify it for their platforms. TV remotes, mobile devices, printers, and even common networking devices make use of Linux. The percentage of the market share that Linux holds is a little harder to calculate, since embedded devices are hardly ever cracked open and hacked to discover what lies underneath their physical components. Despite this lack of information, it remains clear that Windows does not hold the market share in embedded devices.

Today, Microsoft's Windows OS is the accepted industry standard. However, Windows Vista proved that users will not always accept change, and that many users will refuse to be forced to upgrade to a new OS that they find confusing and unstable. Linux on the other hand is a work in progress, and although it is not ready for the mainstream desktop market yet, it is most likely only a matter of time.

Thursday, January 29, 2009

Greyhat Zone: ARP poisoning (Part 2)

Some time ago, I gave you a real basic run down of what ARP is, and what it does. There is more to the basic network functionality that ARP provides, but of course, I can't cover it all here. If you're interested in learning more about how a network functions, head to the Yavapai College web page and register for CNT115 or CCNA1&2. Additionally, several Greyhat powerpoint presentations / videos will *hopefully* be available by the start of 2009's Spring semester. These presentations will only be accessible by registered students (any CNT course will qualify you).

Rather than continue to try and write a scenario on my own (probably confusing most of you in the process), I have found a tutorial online that shows you how to make use of Ettercap to perform an arp poisoning attack, which can be found on the Backtrack 3 Live CD (Linux based)

Click here to view the tutorial


Click here to get Backtrack 3 live cd


The important thing to keep in mind about ARP is that it is not authenticated in any way. ARP is used to find the MAC address of a machine to initiate network communication, and without authentication, this creates a huge vulnerability. The use of this attack is not confined to wired connections, it will work wirelessly as well.

Feel free to ask questions about this process here on the blog in the comments section.