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.

Monday, November 24, 2008

Windows Server 2008: It's going to blow your mind.

So at the end of my Vista week of review, I said I was going to cover why Windows Server 2008 is a completely different beast than we're used to looking at. I know I've mentioned it before, but I'll say it again: I'm a Linux guy. Of course, I know Windows too (after all, being an operating system bigot is no way to get hired in today's world), but I'm always going to try and advocate the use of an open platform. That having been said, no one platform can satisfy the needs of everyone all at once. What works for some, won't work for others. If you're going to host web sites, something for e-commerce or some such thing, I'm going to suggest apache on Linux. If you're looking to administer 40-some Windows XP machines, I'm going to recommend Windows Server. Getting down to the meat of things though, Windows Server 2008 really does more than any previous edition of Windows Server has. What exactly? Keep reading.

Imagine, if you will, a server without a GUI. This server runs Linux, has a bunch of network oriented services, and needs to serve an unknown number of clients at any given time. Top it off with the fact that you won't be logging into it very often. Since a GUI won't be running 100% of the time to support unlikely local logins, you've got all those extra resources for clients.

One of the major problems with Windows Server is that you've always had to run a full GUI while handling services at the same time. If you're not going to touch the box that often, what sense does that make? Enter Windows Server 2008 core; it doesn't have a GUI per-say, but it can if you want it to. You can run certain .NET framework applications on Core. For example, a reduced version of notepad, task manager, etc. You're still running a minimal GUI environment, with access to command prompt as your main interface. From here, you can even launch Power Shell on core (which is by far more exciting to use). A Server Core system will offer definite measurable performance gains in any service you run on it. Add to that the security benefit of a slimmed down operating system, providing a smaller attack surface (less software to attack).

Okay, so core may be cool, but we're not done yet. Remember how I was complaining that it makes no sense to restart so often for non-kernel updates on Vista? Well, it's time for me to give some kudos to Microsoft, as promised. Windows Server 2008 has a drastically reduced need for restarts involving updates. Given that I've been working on a W2k8 server for a month or two now, it's a definite improvement. And while we're on the topic of server reliability, Server 2008 makes use of Self-Healing NTFS. Self-healing NTFS will repair file system related issues on the fly, on an online disk. Previously, such repair required a reboot into a safe mode type environment with something like chkdsk. This isn't something you have to set, it's something that happens automagically (Yes, automagically really is a word). If your system detects corruption, it'll lock down the area of corruption to make it inaccessible while repairing issues. Need to add another CPU to your server? So long as you've got the right hardware, you can just slap it in there without having to reboot. Additionally, assuming your hardware supports it, you can hotswap a CPU on the fly without a reboot as well. Of course, you'll still need at least ONE CPU in there.

Virtual machines are big now. If you need to run multiple different operating systems and you've got a fairly beefy box, there's no reason not to use virtual machines. Previously, we had VMware products for server level virtualization. In Server 2008 comes Microsoft's Hyper-V virtualization system. As its name suggests, it's a hypervisor that sits between your VM's and your hardware at the kernel layer. If you've ever heard of Xen, it's pretty similar in concept and design. Hyper-V can even act as a Xen hypervisor. This is great if you've got a Xen enabled operating system and you want to get all the benefits such a configuration can provide. Running Hyper-V on Server 2k8 Core has some pretty impressive results as well.

A common reason to use Windows Server is for Active Directory. Server 2008 still has active directory, of course. In addition to AD though, you can also set up a "Read-Only" domain controller, or RODC. What use could this be? Well, let's assume you're dealing with a large corporation, and you need to set up a DC at a smaller office. Unfortunately, due to budget constraints and lack of security at the site, a normal domain controller might cause problems upstream. That's where a read-only DC comes in; everything from normal AD is there, except for client passwords. Plus, you have the added benefit of knowing you won't have to replicate changes upstream, thereby reducing bandwidth usage.

Finally, let's talk about clustering. Clustering involves taking several machines and making them behave as a group, or one intelligent machine. In Windows Server 2008, you can cluster physical machines with Hyper-V virtual machines to achieve maximum uptime. Imagine for a moment that you're taking down one machine that exists within a cluster, that is currently hosting your virtual machine in charge of your website. Rather than be concerned about migrating this VM somewhere else, you can just bring it down. The cluster will start the VM elsewhere and you will have prevented any downtime. Not only can you cluster Hyper-V, but you can also make use of Network Load Balancing in your cluster. This means that if that one box with your VM is getting hammered, you can offload some traffic onto another node on the same cluster running the same VM (presumably).

If you're interested in learning some more about what W2k8 server offers, check out these whitepapers. It's definitely worth a look, and may help you decide what you want to run next time you set up a server box. Hopefully I've catered to some of our hardcore Linux readers, and even our hardcore W2k3 server readers in the features I mentioned. Rest assured though, there way more features in there than I can fit on this blog. For the next post, I'll continue the ARP exploit I started a couple months back (Sorry for the delay!)

Wednesday, November 5, 2008

Vista Week: Day 6

At last, the final day of Vista week. Today I'm going to tell you about my experiences with Vista multimedia, then I'll give you my conclusions about the Vista OS.

First on our list is DVD playback. I've heard rumors that if you have Vista Business Edition, you can't watch DVD's without installing some sort of DVD software. Not sure about this one, because I have DVD software installed from the OEM on my laptop. Corel's WinDVD comes in handy when watching DVD's, but on one of my previous laptops, it would crash in Vista. Fortunately, that is not an issue on my current laptop. Early on, I noticed that Vista used to cause periodic black screen occurances during movies. In other words, I would be watching a movie, then for a split second, my entire screen would go black before returning to the movie. Audio would continue to play, and the movie never stopped playback during this issue. I never figured out what this was exactly, but my initial thought was that it had something to do with Vista DRM schemes. Fortunately, I don't seem to have this issue anymore. WinDVD will upscale DVD's to 1080p/60 (assuming your computer supports doing so via graphics card / monitor resolution), making it very useful as a DVD player. Also, WinDVD now plays Blu-Ray discs! Of course, you need a blu-ray drive to make use of this functionality, which I don't have or need.

If you watch multimedia on your machine that you've retrieved from the internet (Don't want to know how), Windows Media Player is useful, but only to a certain degree. If you're watching a video clip of previews of the latest shows out of Japan, for example, fansubbers like to throw these video's in all sorts of weird container formats that you may not be familiar with. We all know about .avi's and .wmv's and whatnot, but have you ever heard of .mkv ? How about .ogg? Not only that, but there are codecs involved with containers or formats. What do you know about the H.264 codec? If you check out high definition movie previews through Apple, you'll probably learn that they compress their high definition previews in H.264. When it comes to codec / format hassles, I like Zoom Player. Zoom Player is available as freeware, and will help you with installing any kind of plugin or codec that is needed to play a given video / audio file. From the common to the mundane, Zoom Player probably knows what you need to play it. There is a paid-for version of the software that allows playback of DVDs.

Since I've already mentioned Winamp 5, I won't go into detail what it does. When it comes to multimedia (specifically music) on Vista though, this program is key. Additionally, if you are an Apple nut, you'll probably want to grab iTunes. Be warned though, iTunes on Vista has been problematic for many users, some of whom claimed that after installing the latest iTunes and plugging in their ipods, Vista would blue screen. More than likely this issue has been fixed, but aware that issues could arise.

Another interesting ability of Vista Ultimate is it's media extender functionality with the Xbox 360. With Ultimate, you are able to stream videos to your 360 from your PC. This can also be done with music, for use in such a case where your home theatre speakers are more powerful than your PC speakers. The set back is that this can be relatively difficult to set up, if you're not aware of what you're doing. Some video formats will not be compatible with the Xbox, but they can be transcoded on the fly through a program called Transcode 360. Even with this program though, some formats like .mkv will perform horribly when streamed. Additionally, firewalls can get in the way, as well as anti-virus software. Finally, sometimes the service will just not want to work. If you really want this feature but don't want Vista Ultimate, Windows XP Media Center edition has this functionality as well.

Overall Ratings:

Multimedia playback - 7/10; Vista certainly has some nice features in multimedia playback, and the ability to use Ultimate as a multimedia box for your Xbox is a great idea, but it gets bogged down by other flaws. Weird playback issues with some platforms (black screens, for example) can ruin the experience.
Extender functionality - 8/10; Awesome idea, but one that is still in its infancy. If more support for different formats is added, it has the potential to be one of the greatest revolutions for digital media usage I've ever seen. Unfortunately, due to the legality of including such formats in their software, I doubt it'll happen. Keep your fingers crossed!


Vista's Final rating:

216/280 or 7.7/10

Am I surprised? Not really, no. Vista's bad reputation was largely due to the fact that companies responsible for writing device hardware drivers aren't staying on top of the game. Of course, these manufacturers place the blame on the operating system vendor. Then again, it is equally Microsoft's fault for having shipped an operating system they were highly aware would have issues. Overall though, I think the operating system is pretty usable. If you bought an OEM machine and it has Vista on it, I don't think you should feel the need to downgrade to Windows XP. It's important to remember that not all OEMs will continue supporting users who clear out the original OS that shipped with the machine. Not only that, but you have no guarantee that your OEM hardware will work on XP (No reason why it shouldn't, but are you willing to take the risk?).

So am I going to switch over to Vista now? No, not at all. I do intend to keep it around though, as it has proven it has its uses. It does have some critically appealing features, some of which that we've only just begun to discover (No thanks to Microsoft's wonderfully useful documentation). Despite all of Vista's new features though, I will continue to remain a Linux advocate, and give credit where credit is due.

For the next blog post, some of you have asked about Windows Server 2008. We'll take a look at what makes Windows Server 2008 one of the biggest changes in Windows operating systems since Microsoft ditched DOS!