Answer:
1) A shell is a command interpreter, i.e. the program that either process the command you enter in your terminal emulator (interactive mode) or process shell scripts (text files containing commands) (batch mode).
A kernel is a low level program interfacing with the hardware on top of which applications are running. It is the lowest level program running on computers although with virtualization you can have multiple kernels running on top of virtual machines which themselves run on top of another operating system.
An API is a generic term defining the interface developers have to use when writing code using libraries and a programming language.
2)The two main philosophies are:
- Write programs that do one thing and do it well and write programs to work together.
- Write programs to handle text streams, because that is a universal interface.
5) - GNU stands for "GNU's Not Unix". It is an operating system similar to Unix with a collection of compatible software, developed and distributed as a free alternative to commercial systems.
- The GNU project is a mass collaborative initiative for the development of free software.
- The Free Software Foundation (FSF) is the principal funder of the GNU
Step-by-step explanation:
The explanation of the solutions are all in the answers above.
Solution to question 3, 4and 6 are attached.