Kernel Technologies Linux Pdf
Total Page:16
File Type:pdf, Size:1020Kb
Kernel technologies linux pdf Continue Free and open core of the Unix Linux kernelTux penguin, Linux Kernel mascot 3.0.0.0 downloadDeveloperLinus Torvalds and thousands of employees Written inC and build 2'OS familyUnix-likeInitial release0.02 (October 5, 1991; 29 years ago (1991-10-05))Last release5.9.1 (October 17, 2020; 3 days ago (2020-10-17)±) 10-04)) ± Repositorygit.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git Available in EnglishKernel typeMonolithicLicenseG GPNULv2 (only) with some code under compatible GPL options or under licenses, such as BSD, MIT (Official websitewww.kernel.org Linux Core, developed by participants around the world, is free and open source, monolithic, modular (i.e. supports insertion and removal while the core objects are being downloaded), unix-like core of the operating system, and it is very customizable. Users who have been granted the necessary privileges can also fine-tune the kernel settings during the run. The Linux kernel is deployed on a wide variety of computing systems, such as built-in devices, mobile devices (including its use in the Android operating system), personal computers, servers, mainframes, and supercomputers. Linux kernel was conceived and created in 1991 by Linus Torvalds for his personal computer and without cross-platform nature, but has since been ported to a wide range of computer architectures. Even so, the Linux kernel is highly optimized using specific architecture instructions (ISAs), so portability is not as simple as with other cores (e.g. NetBSD, which supports 59 hardware platforms by 2019). Linux was soon adopted as the core for the GNU operating system, which was created as open source and free software, and is based on UNIX as a product of the consequences of the Unix wars. Since then, it has spawned many distributions of the operating system, commonly also called Linux, although formally the term Linux refers only to the core. The Linux Kernel (LKML) mailing list hosts day-to-day development discussions. Linux is generally released in accordance with the general public license of GNU Version 2 (GPLv2), but it also contains several files under other compatible licenses and a special exception for user space API (UAPI) header files. Linux ABI (i.e. binary application interface, which also includes an application program interface or API at the source level of the code) between the kernel and the user space has four degrees of stability (stable, testing, outdated, remote); However, system challenges are not expected to ever change to break break programs that rely on them. The loadable core modules (LKM) are designed to be able to rely on a stable ABI. Therefore, they should always be recomperated whenever a new core is installed in the system, otherwise they will not be loaded. Drivers in a tree, set to become an integral part of the built core (vmlinux), are statically connected by the construction process. There is also no guarantee of source level stability in the cores, and because of this, the device driver code, as well as the code of any other core subsystem, must be updated with the evolution of the kernel. Fortunately, a simple rule requires that any developer who makes API changes fix any code that breaks down as a result of this change. History also look: The history of Linux and Linux history of the kernel version of Linus Torvalds with a microphone at LinuxCon Europe 2014 in Dusseldorf In April 1991, Linus Torvalds, then a 21-year-old computer science student at the University of Helsinki, Finland, began to work on some simple ideas for the operating system. It started with a task switch in the Intel 80386 assembly language and the terminal driver. On August 25, 1991, Torvalds published the following on comp.os.minix, a newsgroup on Usenet: 26 I make a (free) operating system (just a hobby, won't be as big and professional as gnu) for 386 (486) AT clones. It's been brewing since April, and is starting to get ready. I would get feedback on things that people like/don't like in minix, as my OS resembles it somewhat (the same physical location of the file system (due to practical reasons) among other things). I'm currently ported to bash (1.08) and gcc (1.40) and everything seems to be working. That means I'll get something practical in a few months, yes - it's free of any mini-code and it has multi-thousand fs. It's not protable (uses 386 switch tasks, etc.) and it probably will never support anything but AT-harddisks, as that's all I have:-(. On September 17, 1991, Torvalds produced version 0.01 Linux and put the ftp.funet.fi - the FTP server of the Finnish University and the Research Network (FUNET). It wasn't even executed because its code still needed Minix for compilation and playback. On October 5, 1991, Linus announced the first official version of Linux, version 0.02. At this point, Linux has been able to launch Bash, GCC and some other GNU utilities: As I mentioned a month ago, I'm working on a free version of Minix-lookalike for AT-386 computers. It has finally reached the stage where it is even used (although it may not be depending on what you want) and I am ready to put out the sources for wider distribution. It's just a 0.02 version ... but I've successfully run the bash, GCC, gnu-make, gnu-sed, compress, etc. underneath it. After that, a lot of people code in the project, including some developers from the MINIX community. In B The GNU project created many of the components needed for a free operating system, but its own core, GNU Hurd, was incomplete and inaccessible. The distribution of software in Berkeley has not yet been freed from legal problems. Despite the limited functionality of the early versions, Linux quickly acquired developers and users. Torvalds assigned the kernel to version 0 to indicate that it was primarily for testing and was not intended for productive use. Version 0.11, released in December 1991, was the first independent Linux, as it could be compiled by a computer running the same core. When Torvalds released version 0.12 in February 1992, it accepted the general public license of GNU Version 2 (GPLv2) in relation to its previous self-designed license, which did not allow commercial redistribution. Unlike Unix, all original Linux files are freely available, including device drivers. Linux's initial success was driven by programmers and testers around the world. With the support of the API POSIX, through libC, which, whatever the need, acts as an entry point into the kernel address space, Linux can run software and applications that were developed for Unix. The Linux kernel now supports a variety of hardware architectures, providing a common platform for software, including proprietary software. On January 19, 1992, the first post in the new news group alt.os.linux was presented. On March 31, 1992, the newsgroup was renamed comp.os.linux. The fact that Linux is a monolithic core, not a microkernel, has become a topic of debate between Andrew S. Tanenbaum, the creator of MINIX, and The Tormalds. The Tanenbaum-Torvalds discussion began in 1992 on usenet comp.os.minix as a general discussion about core architecture. The Linux version 0.95 was the first to work with the X Window System. In March 1994, Linux 1.0.0 was released with 176,250 lines of code. It was the first version suitable for use in production environments. He started the kernel version system with three or four numbers, separated by dots, where the first was the main release, the second was a minor release, and the third was a revision. At the time, the odd minor releases were for design and testing, while even moderate minor releases were for production. The non-binding fourth digit indicated a set of patches for revision. Development releases were shown with a suffix -rc (candidate for liberation). The current version of the camera is slightly different from the above. Even vs. odd seddies have been removed, and the specific main version is now pointed to the first two numbers taken as a whole. While the timeline is open to developing the next major, the suffix -rcN to determine the n'th-release candidate for the next version. For example, the release of the issue 4.16 was preceded by seven 4.16-rcN (from -rc1 to -rc7). Once a stable release is made, its service is transferred to a stable team. Sometimes updates of stable releases are identified by the scheme of three numbers (e.g. 4.13.1, 4.13.2, ..., 4.13.16). Version 1.2 (released on March 7, 1995) was supported by computer systems using processors based on Alpha, SPARC and MIPS architectures. After version 1.3 of the kernel, Torvalds decided that Linux was developing enough to warrant a new large number, so he released version 2.0.0 in June 1996. The series included 41 releases. The main feature of 2.0 was the support of symmetrical multiprocessing (SMP) and support for more types of processors. Starting with version 2.0, Linux is configured to select specific hardware goals and to enable features and optimization architecture. A family of kbuild commands is used to enable and customize thousands of options for creating special kernel executions (vmlinux) and downloadable modules. Version 2.2, released on January 20, 1999, removed the Big Core Lock, which was a global spinlock, and improved SMP support, additional support for m68k and PowerPC architectures, and added new file systems (including Microsoft's NTFS only reading support).