Sunday, April 12, 2009

Hacking Ubuntu Serious Hacks Mods and Customizations


This free ebook is written for the power user. Power users want the most out of their system: the most speed, the most glitz, the most sounds, or the most security. This free ebook shows how to do just that. 

Although you don't have to be a programmer to get the most out of this free ebook, you should be familiar with Linux and how to edit files. 

In particular, knowing how to download, install, and use the basic operating system is a must. You should be familiar enough with the Linux bash shell to create and traverse directories, search for applications, read man pages, and edit system files using whatever editor you are most familiar with. You should be familiar with commands like grep, find, and sudo. 

This free ebook does not completely encompass all the things you can do with Ubuntu. For most of the applications covered, there are dozens of alternate tools. And even the tools covered contain additional options and settings for doing more things than described here. 

The goal of this free ebook is to show you some of the tricks, hacks, and tweaks that you can do with the system so you can better customize it to your needs. 

I fully expect people to build on and extend these hacks.

Download

Beginning SUSE Linux: From Novice to Professional


The book starts with an introduction to the world of Linux and the open source community, and this is followed by an illustrated step-by-step guide to openSUSE installation and hardware configuration.

A special edition of openSUSE 10.1 is provided on the DVD-ROM that comes with the book. 

This version includes several additional items of proprietary software, as well as all the "devel" software packages, making for a comprehensive package.

The book shows how to wield total control over your newly installed operating system. 

It will guide you through system customization opportunities and common tasks like listening to audio CDs and MP3s, watching movies, and performing office- and Internet-related tasks. 

A large part of the book is dedicated to advanced command-line techniques necessary to maintain your system and become a true Linux master!

This second edition of the best-selling first edition has been boosted by 200 pages to over 700 in total, and has been completely revised and updated. 

Beginning SUSE Linux, Second Edition is the only print title to cover openSUSE 10.1.

Download

Linux Administration: A Beginner's Guide

Administering a Linux system isn't much like administering a Windows machine. 

Though the goals are similar and comparable problems arise under both environments, they each require administrators to adopt a certain way of thinking about processes and data. 

Linux Administration: A Beginner's Guide helps readers adapt their Windows experience to Linux work. Author Steve Shah does a great job of clueing Linux newcomers into the environment. 

His explanations are clear, patient, accurate, and useful, and they cover all aspects of the system administrator's job. 

He's careful to explain hundreds of commands in a logical way, including lists of options and examples of typical uses in many cases.

But this is no mere command reference or novice's introduction. Shah doesn't shy away from explaining the really interesting aspects of Linux administration, including kernel compilation, Domain Name Service (DNS) configuration, sendmail setup, and establishing firewall protection with IP chaining. 

For all of these subjects (and many more), this book includes clear statements of what concepts are relevant, which commands to issue, and what to expect in response. 

It's a great help in self-guided explorations. It's also worth having this book on hand for work assignments--you'll find complete recipes for configuring all major Internet and local area network (LAN) services that also take into account easy maintenance and security.

Download

How to Do Everything: Ubuntu


Your hands-on guide to Ubuntu

Now it's easier than ever to get the most out of this wildly popular version of Linux. 

How to Do Everything: Ubuntu leads you through the interface, the built-in applications, and the process of installing software and peripherals. 

You'll get details on the full-featured OpenOffice.org productivity suite, as well as the fun side of Ubuntu, including graphics, photos, music, videos, and games.

Maximize the power of Ubuntu-on PCs or Macs-with help from this practical guide.

* Install Ubuntu and navigate the GNOME desktop
* Add hardware, software, and peripheral devices 
* Secure your computer with Firestarter, anti-virus programs, and backup/restore software
* Use the OpenOffice.org suite components-Writer, Calc, Base, Impress, Math, and Draw
* Set up a network and connect to the Internet via Firefox
* Create and publish your own website
* Use Windows applications in Ubuntu 
* Play games and enjoy multimedia applications
* Work with Linux shell commands

* Learn to use the vi and Emacs text editors

Download

Essential PowerShell


Use PowerShell to Streamline and Automate Your Most Time-Consuming Windows Administration Tasks

With Windows PowerShell, Microsoft brings innovative console-based system administration and scripting to Windows clients and servers. 

PowerShell combines the best features of traditional UNIX shells with the immense power of the .NET Framework, offering a consistent and easy-to-use replacement for both the Windows command line and the Windows Script Host. 

In Essential PowerShell, noted expert Holger Schwichtenberg gives Windows sysadmins all the knowledge and sample scripts they need to successfully administer production systems with PowerShell. 

Schwichtenberg begins by introducing the innovative PowerShell architecture, along with crucial PowerShell concepts such as pipelining and navigation. 

Next, he introduces the PowerShell Script Language, shows the secure execution of command sequences as scripts, and demonstrates how to use PowerShell to access essential operating system interfaces such as COM, WMI, ADSI, and ADO.NET. 

After you've mastered the fundamentals, Schwichtenberg presents an extensive collection of PowerShell solutions for virtually every area of day-to-day administration. 

For each topic, he presents dozens of self-contained examples, all downloadable from a companion Web site. 

He covers both Microsoft's standard PowerShell commandlets and the free commandlets available as PowerShell Community Extensions. 

He also presents a full chapter of tips, tricks, and troubleshooting solutions. 

Coverage includes

* Understanding PowerShell's components and features 
* Setting up your PowerShell scripting environment 
* Creating and using commandlets 
* Using object-oriented pipelining for filtering, sorting, grouping, comparisons, calculations, and more 
* Mastering PowerShell's uniform navigation model and using it with all types of data 
* Programming command sequences with the PowerShell Script Language 
* Making the most of the PowerShell console and third-party tools 
* Managing processes, event logs, and registry entries 
* Controlling networking, printing, and software installation 
* Manipulating Active Directory and other enterprise services with PowerShell 
* Using PowerShell to enforce stronger system and network security 

* Storing data in files, documents, and databases

Download

Windows Server 2008 Hyper-V Unleashed


Using the Hyper-V virtualization capabilities built into Windows Server 2008, organizations can slash costs for power, space, and maintenance, and dramatically improve IT flexibility at the same time. 

This is the first book to offer comprehensive, independent, real-world coverage of planning, designing, implementing, and supporting Windows Server 2008 Hyper-V virtualization environments. 

Authored by Rand Morimoto and Jeff Guillet top consultants of Microsoft technologies with unsurpassed experience deploying Hyper-V in enterprise organizations this book delivers start-to-finish guidance for every facet of your virtualization initiative. 

* Leverage the experience from hundreds of real world implementations of Hyper-V and Virtual Machine Manager 2008 in your deployment of a virtualized server environment 
* Implement best practices for planning, prototyping, and deploying Hyper-VจCincluding strategies, processes, and templates 
* Install and configure Windows 2008 Server with Windows Hyper-V Services 
* Provide guest operating systems ranging from Windows 2003 Server to Linux 
* Administer Hyper-V Host Servers as standalone hosts or in multiple host environments 
* Optimize Hyper-V Host Server and guest sessions, by efficiently allocating memory, processors, disk space, and other resources 
* Move from basic server virtualization to a systematically managed virtual enterprise environment 
* Use Virtual Machine Manager 2008 to centrally monitor all your Hyper-V hosts and guest sessions 
* Quickly provision new guest images wherever and whenever you need them 
* Implement reliable failover processes to overcome failures in guest sessions, host systems, or sites 

* Troubleshoot problems with both Hyper-V hosts and guest operating systems

Download

Monday, April 6, 2009

Computer data storage

Computer data storage, often called storage or memory, refers to computer components, devices, and recording media that retain digital data used for computing for some interval of time. Computer data storage provides one of the core functions of the modern computer, that of information retention. It is one of the fundamental components of all modern computers, and coupled with a central processing unit (CPU, a processor), implements the basic computer model used since the 1940s.

1 GB of SDRAM mounted in a personal computer. An example of primary storage

In contemporary usage, memory usually refers to a form of semiconductor storage known as random access memory (RAM) and sometimes other forms of fast but temporary storage. Similarly, storage today more commonly refers to mass storage - optical discs, forms of magnetic storage like hard disks, and other types slower than RAM, but of a more permanent nature. Historically, memory and storage were respectively called primary storage and secondary storage.

40 GB hard disk drive (HDD); when connected to a computer it serves as secondary storage.

The contemporary distinctions are helpful, because they are also fundamental to the architecture of computers in general. As well, they reflect an important and significant technical difference between memory and mass storage devices, which has been blurred by the historical usage of the term storage. Nevertheless, this article uses the traditional nomenclature.

160 GB SDLT tape cartridge, an example of off-line storage. When used within a robotic tape library, it is classified as tertiary storage instead.

Memory hierarchy

The hierarchical arrangement of storage in current computer architectures is called the memory hierarchy. It is designed to take advantage of memory locality in computer programs. Each level of the hierarchy has the properties of higher bandwidth, smaller size, and lower latency than lower levels.

Most modern CPUs are so fast that for most program workloads, the locality of reference of memory accesses and the efficiency of the caching and memory transfer between different levels of the hierarchy are the practical limitation on processing speed
As a result, the CPU spends much of its time idling, waiting for memory I/O to complete. This is sometimes called the space cost, as a larger memory object is more likely to overflow a small/fast level and require use of a larger/slower level.

The memory hierarchy in most computers is:

Diagram of the computer memory hierarchy

Processor registers – fastest possible access (usually 1 CPU cycle), only hundreds of bytes in size
Level 1 (L1) cache – often accessed in just a few cycles, usually tens of kilobytes
Level 2 (L2) cache – higher latency than L1 by 2× to 10×, often 512 KiB or more
Level 3 (L3) cache – higher latency than L2, often 2048 KiB or more
Main memory (DRAM) – may take hundreds of cycles, but can be multiple gigabytes. Access times may not be uniform, in the case of a NUMA machine.
Disk storage – millions of cycles latency, but very large
Tertiary storage – several seconds latency, can be huge

The various major units in a typical memory system can be viewed as forming a hierarchy of memories (m1,m2,...,mn) in which each member mi is in a sense subordinate to the next highest member mi-1 of the hierarchy.


Management

Modern programming languages mainly assume two levels of memory, main memory and disk storage, though in assembly language, and in inline assembler in languages such as C, registers can be directly accessed. Taking optimal advantage of the memory hierarchy requires the cooperation of programmers, hardware, and compilers (as well as underlying support from the operating system):
Programmers are responsible for moving data between disk and memory through file I/O.
Hardware is responsible for moving data between memory and caches.
Optimizing compilers are responsible for generating code that, when executed, will cause the hardware to use caches and registers efficiently.

http://en.wikipedia.org/wiki/Memory_hierarchy

FC-AL (Fiber Channel-Arbitrated Loop)

FC-AL (Fiber Channel-Arbitrated Loop) Fiber Channel - Arbitrated Loop is designed for high-bandwidth high-end systems and transfers data in the serial mode. This interface is more expensive than the SCSI interface.

FC-AL uses fiber optic cabling to produce a maximum (burst) data transfer rate of more than 100 MB/second. FC-AL is capable of supporting up to 127 devices as far as 10 kilometers apart, thus opening new perspective for remote data storage (web storage and network storage). FC-AL allows "hot swapping" of the connected drives without interfering with the work of the entire system. Also, FC-AL devices can be designed with two ports to double the data transfer rates.

There are two very different ways to transfer data between computers or between computers and peripheral devices: via I/O channels and networks.

An approach based on channels provides for a direct or switched point-to-point connection between the devices. This method is designed to be hardware-intensive and to transports data at the high speed with low overhead. A SCSI interface is a good example of a fast and effective channel. SCSI transfers data in parallel way over relatively short distances using a number of lines (for example, 16 for 16-bit SCSI). Channels stress high performance and the hardware is optimized to meet the need. Channels tend to use more simple protocols and to minimize software involvement in data transfer operations. Also, channels provide highly reliable data transmission.

Another approach, a Network, is based on connecting distributed elements (nodes) like workstations, file servers and peripherals using its own serial protocol that supports interaction among the nodes. Networks are software-intensive (high overhead), and tend to be slower than a channel. On the other hand, networks have simpler cabling, connectors, and work over much greater distances (world-wide, if necessary). They can also handle wide range of tasks than channels, and emphasize connectivity and protocol flexibility (e.g., IP). In case of networks, transmission of data isn't as reliable.

Fibre Channel is an attempt to combine the better of these two methods of communication and to create a new superior I/O interface with the following features:
Serial data transfer (for greater distances and simplicity)
Compatibility with various already existing protocols;
High data transfer rate;
Reliable data transfer;
Packetizing data (called frames in FC world)
Support for a large number of devices
Routing information using switches.

Therefore, the Fibre Channel isn't a channel nor a network, but allows for an active intelligent interconnection scheme, called a Fabric, to connect heterogeneous computer systems and peripherals with all the benefits of the above two methods. In fact, fibre channel supports its own protocol plus some other higher level protocols such as the SCSI, FDDI, HIPPI (High Performance Parallel Interface) and IPI. Peripherals can include storage devices such as disk or tape arrays. Nowadays, Fibre channel option is mandatory for high-end mass storage products, such as disk or tape arrays.

Reference from : http://www.usbyte.com/common/Firewire_Interface.htm

FireWire IEEE 1394

The IEEE 1394 standard for the High Performance Serial Bus, also called Firewire, is a serial data transfer protocol and interconnection system. The main feature of the Firewire that assures its adoption for the digital video and audio (A/V) consumer application is its low cost. Fire wire interface is capable of supporting various high-end digital A/V applications, such as consumer A/V device control and signal routing, Digital Video (DV) editing, home networking, and more than 32 channels of digital mixing. Gone are those days of expensive video capture cards. Firewire allows for video capture from both newer DV camcorders with Firewire ports and older analog equipment using A/V to Firewire converters. The first commercial products implementing Firewire technology were Sony's DCR-VX700 and DCR-VX1000 digital video camcorders, introduced in 1995. Nowadays, growing variety of electronic products rely on the Firewire technology.
The advantages of the Firewire interface are summed bellow:
High data transfer rate - up to 50 MB/s (400 Mbps), which is about 30 times faster than USB.
Supports up to 63 devices (16 - daisy chained) with cable length up to about 4.5 m (14 feet).
Hot-pluggable (like USB). No need to turn of your device to connect or disconnect, and you don't need to reboot your PC. Also, Firewire is a plug-and-play bus.
Firewire cables are very easy to connect (Like USB).

IEEE1394 Firewire interface standard is a serial interface which is relatively inexpensive, easy to use, and supports high data rate. Firewire allows easy data exchange between such devices as computers, camcorders, TV sets, speakers, and other consumer electronic devices.


Firewire was originally developed to replace fast but complex SCSI and offers bi-directional isochronous data transfer. Like USB, Firewire provides 'Plug and Play' and 'Hot Plug In' capabilities - allows to connect or disconnect devices without powering down and restarting the system. The list of devices supporting IEEE1394 is growing since it also enables transmitting audio, video, and control signals via the same cable. Since the power line is a part of the cable, power can be supplied directly to the low-power devices (mice, keyboard, etc.).

Basic Architecture

The Firewire cable bus is a 'non-cyclic network with finite branches", consisting of bus bridges and cable devices (nodes). Non-cyclic means that one can't plug devices together to create a loop. Up to 16 cable hops are allowed between nodes, thus the term finite branches. 6-bit addressing allows up to 63 nodes to be connected to a single bus bridge. Thus, 63 connected devices is a limit for a conventional IEEE 1394 card in a PC.

Each node usually has three connectors, and up to 16 nodes can be connected in a 'Daisy chain" through the connectors with standard cables up to 4.5 m long for a total of 72 m. Special high-quality 'fatter' cables allow longer interconnections. Additional devices can be added in a leaf-node configuration (shown in the next figure). Physical addresses are automatically assigned to the devices on bridge power up (bus reset) and when a new node is added or removed from the system. Hot plugging of the devices is fully supported. No device ID switches are required.

Basic Design
Firewire serial interface uses a simple cable with two types of small and inexpensive connectors: 4-pin and 6-pin connectors - to carry multiple channels of digital video and video data and control information plus the power.




During data transfer over the shielded double twisted pair cable, a clock signal is automatically generate from the data signal and the strobe signal. This eliminates the need for the high-speed phase lock loop (PLL) circuits used by other interfaces at both ends of the communication channel. As a result, IEEE 1394 is much less expensive.


The Firewire interface is implemented by the three layers: The Transaction layer, The Link layer, and the Physical layer.
The Transaction layer implements the request-response protocol.

The Link layer supplies acknowledgements to the transaction layer. It handles all packet transmission and reception, and provides cycle control for isochronous channel. The link layer chip both transmits and receives 1394-formatted data packets and supports asynchronous or isochronous data transfer modes.



Isochronous capabilities allow PC to handle high-bandwidth data, typical in multimedia applications, more efficiently.
Isochronous data handling is especially important for consumer Audio/Video products where data is stored on the PC hard disk drive. The Physical layer provides the initialization and arbitration needed to assure that only one node at a time is sending data. It also translates the serial bus data stream and signal levels to those required by the link layer. It includes the logic needed to perform arbitration and bus initialization functions.
Reference From : http://www.usbyte.com/common/Firewire_Interface.htm