Lecture 1 Flashcards
When did UNIX OS development start?
1969, its code is written in c in 1972
Why was C created?
The C language was actually created to port the UNIX kernel1 code from assembly to a higher-level language
When was the linux kernal developed?
Linux kernel development started in 1991, and it is also written in C. The next year, it was released under the GNU license and was used as part of the GNU Operating System. The GNU operating system itself was started using C and LISP programming languages
What is windows code written in?
Although Windows source code is not publicly available, it has been stated that the kernel is mostly written in C, with some parts in assembly.
What is mac OS written in?
Mac OS is also powered by C as the OS X kernel is written mostly in C.
What is the mobile devices OS written in?
• iOS, Android and Windows smart-phone and tablet kernels are also written in C. They are just mobile adaptations of existing Mac OS, Linux and Windows kernels.
What is an OS?
An OS is the first program that your computer hardware runs (when turned on), and an OS is thus simply a program that runs other programs.
What are the goals of any operating system?
execute user programs
make computer systems easy and convenient to use
Use computer hardware in an efficient manner.
Describe the OS as an illusionist
OS as an illusionist: Overcomes hardware (memory) limitations with clever resource
management. For example, at any one time, the OS will be running many programs,
all requiring memory to run. With limited physical memory available the OS has
to carefully prioritize and manage the running of programs.
Describe the OS as a government
• OS as a government: Protects users from one another (meaning one user program cannot overwrite another) and allocates resources efficiently and fairly between user programs.
what are the two different OS views from a systems perspective?
First view: resource allocator
Second view: The OS is a control program that controls the execution of programs.
Describe an OS as an abstraction
An OS hides all the tedious stuff such as memory access and allocation for running programs.
• An OS allows efficient usage of system resources.
Give two examples of the abstraction of an OS.
For example, a personal computer may contain only one CPU, but the OS can share
resources between user programs and system applications to give the impression
(create the illusion) that the OS is running multiple CPUs and thus is able to
concurrently process the running of multiple programs.
• Another popular example of the abstraction of an OS is the use of virtual memory
(see the later lectures on virtual memory) to give the user the impression that there is enough memory to run all the programs they want to run.
Describe the structure of the OS.
the structure of the OS is divided into three parts: user level, kernel-level, and hardware level.
What is a process?
a process is the executing (running) of a program loaded
into physical memory and run for some number of CPU processing cycles.