Thursday, June 23, 2011

Hardware

This blog post is a quick explanation of the hardware I'm using (laptop/desktop specs).

I currently have a "linxtop" (laptop with Linux Ubuntu/Backtrack 5), as well as a desktop computer running Windows XP SP3 dualbooting Ubuntu (which I don't really use), and also a VMware XP on the side. I'll be getting a laptop soon with Windows 7, at which point I will begin using Windows applications related to network and computer security, such as Cain & Abel and others.



The laptop isn't the best, but I got it for free to mess around with Linux so I can't really complain. It's a Celeron M 1.5ghz (haha) with about half a gig (500mb) of memory and a 40g harddrive, which is good enough to run basic pentesting and password cracking.

My desktop is running XP has a 250g hard drive with two externals connected (one at 1tb and another at 500g), a 2.8ghz dual core CPU, 4g of memory (only 2.1 usable, since I'm using 32bit XP), with a 9800gt Nvidia GPU.

All in all, I'm happy with the specs I have, but sometime in August I should be getting a good Windows 7 laptop better than my current desktop and should be dual booting Ubuntu Backtrack5 and Windows 7.

9 comments:

  1. Why not SP4 for your WinXP installation, or is that a typo?

    ReplyDelete
  2. Also, I was under the impression that 32bit OSs can use up to 4GB memory; are you sure about the 2.1GB usable? There is some limitation in Windows that limits the usage to about 3GB usable, if I recall correctly. I am using Win7 on a system with 4GB memory and I see that it lists 2.99GB of that as usable.

    ReplyDelete
  3. @Anon1, AFAIK (as far as I know) there is no SP4... What exactly do you mean?

    @Anon2, 32bit OSes can only use about 2.1-2.4gigs (I'm on vacation and not at my desktop so I can't check how much mine uses) or so; to use the whole 4gigs you require a 64bit OS.
    If your 64bit isn't using all 4gigs, you might want to check that out... it might be because it's not listing the RAM used by the OS, but I think it should be higher than that...

    ReplyDelete
  4. @Marshall Look at the value of 2^32 (unsigned, because memory addresses start at 0) and translate it to GB. Theoretically, a 32GB OS can handle 4gb.

    To be more explicit (for myself, yourself, and other readers), suppose that we have computer with a certain amount of RAM. A lot of data, while the OS is running, is held in RAM in order to make accessing data faster than directly accessing the hard drive (which is orders of magnitude slower than accessing DRAM, which is the architecture that memory sticks use). We need to be able to contain the address of any location in memory within a single pointer (a la C style pointers) so that we can refer to it for programs' use. If we have a 32bit pointer, we can have that pointer refer to any memory address that can be encoded in 32 bits; 2^32 corresponds to 4GB.

    There is some reason for which 32bit Windows lists 3gb at most as addressable memory. What I recall from my computer architecture class tells me tells me that this is because Windows reserves 1gb for kernel space (memory available only to the OS and not to any programs running on the OS) and that whatever you see under Computer > Properties corresponds to user space (the amount of memory available to programs running on top of the OS). Although this seems logical and plausible, I am not 100% sure and I do not have a reference for my claim, so please do not take my word for it.

    A 64bit OS should able to handle much more because a 64 bit pointer can have 2^64 values, which, if my math is correct, corresponds to 16 TB of addressable memory.

    ReplyDelete
  5. Upon reviewing my math, I will confirm that 4gb should be addressable by a 32bit pointer. However, upon reviewing my math, I find that, for a 64bit OS, my math (2 raised to the power of how many bits are available for use by a pointer) leads to the conclusion that 16 petabytes should be addressable by a 64bit pointer.

    This is a good segue into the fact that the fact that a memory address can be encoded into a pointer is not enough; the OS has to support it.

    ReplyDelete
  6. @Anon, good math; this explains some of Windows memory usage: http://msdn.microsoft.com/en-us/windows/hardware/gg487508 and this: http://www.tomshardware.com/forum/236549-44-what-vista
    "A 32 bit OS cannot go beyond 4GB of addressable memory, ever. And it has nothing to do with the developers coding support for more than 4 in the OS.

    Why? A 32-bit register means that 2^32 addresses, or 4 gigabytes worth, can be referenced. This is a hard, mathematical limitation. This 4GB includes system memory, video RAM, and any onboard memory - anything that uses an address. This is why users see less than 4 if that's what they installed. What happens is the OS assigns addresses in order of importance: whatever's on the Mobo, then Video, and then the installed DIMMS. What you see displayed as usable is the value of your physical RAM less Video and onboard.

    You may be able to put more physical RAM on the Mobo, but you cannot use it.

    To use more than 4GB total addressable memory, you much go to a 64bit OS. That gives 2^64 (17,179,869,184 gigabytes) of addressable space."

    ReplyDelete
  7. to use 4GB RAM you must enable PAE in windows 32bit.
    Ubuntu does it automatically during install.

    ReplyDelete
  8. @Anon good to know, when I get home from my vacation I'll try to update that so I can bruteforce more efficiently.

    ReplyDelete
  9. Remember there is also a 2GB memory limitation per process on Win32 as well. There is an option you can add at startup that lets apps use up to 3GB.

    If I remember correctly, you modify the boot.ini and add a switch "/3GB".

    ReplyDelete