Loading...
Please wait, while we are loading the content...
Similar Documents
Centrum Voor Wiskunde En Informatica Software Engineering
| Content Provider | Semantic Scholar |
|---|---|
| Author | Jonge, Merijn De |
| Copyright Year | 2002 |
| Abstract | CWI's research has a theme-oriented structure and is grouped into four clusters. Listed below are the names of the clusters and in parentheses their acronyms. 1. INTRODUCTION The implementation of the Linux kernel can be considered as a product-line architecture since different products (a kernel together with drivers and subsystems for a particular hardware architecture) can be derived from a single source tree. Unfortunately, this architecture makes the current kernel source tree huge: a kernel distribution is about 28 MB, an unpacked kernel source tree is about 125 MB. The kernel is so voluminous because everything is included: architecture independent code as well as code for all different architectures, all available subsystems, and for all available drivers. The product-line architecture also makes the kernel inflexible because it cannot be extended or adapted easily. This is because i) build and configuration processes of all kernel components are integrated in a single build/configuration process [2]; ii) the variability of the kernel (the architecture to build a kernel for, and the set of drivers and subsystems to build) is completely defined by the (fixed) set of kernel components of a particular kernel distribution. Inflexibility and its great size yields a number of problems: i) a huge source tree is required when only a small portion is really needed to compile for a single architecture with a small number of drivers; ii) adding new drivers is difficult because it requires adapting the kernel's build and configuration process [7]; iii) embedding new kernel components in the kernel's source tree requires acceptance by the kernel maintainers [8]; iv) a huge source tree needs to be maintained (it requires coding style [4], coding conventions etc. which might hamper code reuse); v) new drivers can only be provided as patch until they are included in the kernel's source tree; vi) it is difficult to maintain a driver separately when it is also included in the kernel's source tree; vii) it is difficult for hardware vendors to supply new drivers. Drivers have to be accepted by the kernel maintainers, or they should be provided as patch which requires users to have particular versions of the kernel source tree available. Alternatively, pre-compiled drivers can be provided, but they require particular versions of the kernel to be running. |
| File Format | PDF HTM / HTML |
| Alternate Webpage(s) | http://www.cwi.nl/ftp/CWIreports/SEN/SEN-R0205.ps.Z |
| Language | English |
| Access Restriction | Open |
| Content Type | Text |
| Resource Type | Article |