In fact, kernel, libraries and the common *NIX utilities are what make “Linux” the core of the operating system. We have just scratched the surface of the kernel and Linux issue when we compared it to kernel32.dll. We will not go into the details of the loadable kernel modules here since it is not in the scope of our article.
Datacrow toy module drivers#
In Linux, the kernel and the device drivers are written in C with a small amount of Assembly code. For this purpose, you need to use a low-level programming language where the language requires a very small or no interaction with the computer’s instruction set. you need a program that can “communicate” with the hardware. To write an operating system kernel and to access the hardware’s properties - such as memory cycles, input/output buses, etc.
Kernel and device drivers operate at the lower level of computer operations. Now, let’s see which language is used in what part of the operating system. There are some projects on the Internet like Jnode, which is an attempt to develop a complete operating system in Java. You will not write a graphical user interface program with Assembly, and Visual Basic will not permit you to write hardware device drivers. But of course there are some technical limitations, other than experimentation purposes. One cannot expect the whole operating system to be written in just one programming language not because it is technically impossible but because different programmers use different programming languages. You can see the abstraction layers on the image to the right (Image credit: Wikimedia Commons/Miko3k and Tene). Of course, it is not only the kernel and the operating system there are device drivers, standard files and folder structures, and libraries, which together form the baseline of the operating system.
Datacrow toy module windows#
We are not using kernel32.dll, we are using Windows (more about this in the second page, under the “Libraries and Utilities” section). So, “I am using Linux” is the more or less the same, in Windows speak, as “I am using kernel32.dll.” We are not using Linux, we are using a “Linux distribution”. If we give an example with Windows and Linux Distributions Windows’ kernel is kernel32.dll but the operating system has Control Panel, Notepad, Wordpad, Disk Defragmenter, Internet Explorer, Outlook Express (or Windows Live Mail), Windows Media Player, etc.
That’s just one example of how a single Linux distribution can differ from another. So, the program AirSnort, used for wireless network security auditing is available in the Backtrack default installation but not in the default Ubuntu installation. However, there is another distribution, BackTrack, which uses the same Linux kernel but has programs for security auditing, forensic investigation and penetration testing. For example, Ubuntu is a user friendly distribution, oriented towards newcomers and includes programs such as (office suite), GIMP (image manipulation), etc., which a standard user requires. All of the distributions use the same kernel, but applications may be quite different from one another. Linux distributions are the operating systems that are built on top of the Linux kernel.Basically, when you execute a program, it goes to the kernel and asks for some processor, memory and, depending on the program, disk space.
Datacrow toy module software#
The management of system resources is the communication between the software and the hardware components. Linux is the operating system kernel, which is the core component of the operating system that is responsible for managing system resources.
In order to understand the subject completely and the right way, we have to understand the difference between “Linux” and “Distributions.” (A colleague of mine recently covered this topic in this article.) This is due to the fact that many users think that Linux is actually a full-fledged operating system, but this is not the case. “What language is Linux written in” is a very difficult subject to tackle.