Parallel ATA, Serial ATA, SCSI under Linux .. basics

It’s not possible to go through device management in Linux without saying a word about ATA (Advanced Technology Attachement) and SCSI (Small Computer System Interface) buses…. and of course about USB, but not in this post.

So … ATA, which is an interface standard for connecting storage devices and has been invented by IBM. But its derivate, widely known in the world of x86, is PATA (Parallel ATA) whose first version developped by Western Digital and named IDE (Integrated Drive Electronics), also a very popular acronym.

Which were its characteristics, or better said which were its drawbacks and why currently is only history?

Read more of this post

Device management in Linux … continued

In case you read my previous post about the intricacies of /proc directory, now I would like to continue in the same line and tell my thoughts about other two Linux folders being mount points for virtual filesystems, /dev and /sys. 

Before going further I just want to share with you an interesting resource that I found about this extended topic how Linux sees PnP devices) which outlines probably better what I am trying  to do in a couple of posts 🙂 (very useful and intuitive the CPU privilege rings, also the communication diagram at the end)

What to say about /sys, or about Sysfs (file system)? Since I am a very “young” Linux user I do not have the practical understanding and meaning of it… I just can add my impression to the dozens of the  already existing ones on forums, discussion lists, or simply … on Google …

Read more of this post

What to start with? (/proc directory)

The very first part to start with is the System architecture chapter from LPIC-1 exam 101. Here you may find a pretty well documented tutorial from IBM, which is also referred as an “approved training material” on the official LPI site. What’s in there?

Besides trivial things like how you hould enter a BIOS menu, how to play in BIOS menus (take a lot of care here, since it may have serious consequences), what is POST, how to configure BIOS to boot without a keyboard, what is a hotplug and coldplug device … I would start tackle this first tutorial discussing about the mysterious /proc, /dev and /sys folders, of course there are more interesting things in here, like SCSI drivers, how Linux sees and treats SCSI devices, also about USB drivers, but probably in an upcoming post.

Read more of this post

Get a grip on LPIC 1

Ok, if you decided to go for this cert what’s needed in order to prepare it?  What training materials are available on the market and what are the requirements (or objectives) of this training?

Here you may find an extended answer to all your doubts simply expressed by myself in the 2 questions above. Personally I would recommend this one as one of the best resources to use in preparing for LPIC. Nevertheless you should always bear in mind the objectives of the exam.

Read more of this post

Does it worth to have a Linux certification?

I would say so … Anyhow Linux is so spread in our everyday programmers/engineerings’ life that is really difficult to find someone having no idea about it (in fact I would say is a shame as an engineer NOT to get a grip on Linux). But, is it required, or do you think is needed, to have a Linux certification?

As far as I knew since long time ago there was the “notorious” Red Hat certification-  RHCE which once was a de facto requirement for a senior system admin aspiring to get into one of the top IT companies. LPIC (Linux professional institute certification) is a much younger certification, its governing entity, Linux Professional Institute, being established in 1999. Despite RHCE, LPIC is not tied to any Linux distribution or Linux vendor, and as the name suggest is provided by a non-commercial organization.

Read more of this post

Kernel vs Operating System

Is it really obvious to you which is the difference in between a kernel and an operating system?
… because it looks to be like railways and trains (without railways trains can do nothing, but on the other hand only railways doesn’t help to anyone)

Just after few minutes of “googling”

“kernel is the fundamental part of an operating system. It is a piece of software responsible for providing secure access to the machine’s hardware to various computer programs. Since there are many programs, and access to the hardware is limited, the kernel is also responsible for deciding when and how long a program should be able to make use of a piece of hardware, in a technique called multiplexing. Accessing the hardware directly could also be very complex, so kernels usually implement a set of hardware abstractions. These abstractions are a way of hiding the complexity, and providing a clean and uniform interface to the underlying hardware, which makes it easier on application programmers.”

Well, the first thing that comes into my mind is the Linux example. The Linux kernel is is common for all Linux distributions, so when looking at this example the answer may seem obvious: kernel is “that thing” you can find here and Linux distributions you may find in different places, many of them appeared lately, but I will quote just the most notorious ones: RedHat, Mandriva, Ubuntu, Suse, Slackware, Debian and the list may continue.

What does the Linux Kernel contain? Some of the Linux distribuitions use to keep the sources as well, besides the binaries. Usually you can find them under /usr/src/linux and directory names are self-explanatory: init, mm(memory management), drivers, ipc (inter-process communication), modules, fs(file system), kernel (main kernel code), scripts … I have named just the most useful ones. Linux kernel is responsible for bringing to the user a “clean” bash command prompt. It is the software layer which sits closest to the hardware and it has to make sure that , before the user can start using the hardware resources, those are enabled, configured and are working properly. It brings the computer to life and another important aspect is that it executes only privileged code.

Read more of this post