Rated A+
What are components of an operating system? - answersProcess management,
memory management, storage management, I/O device management, protection and
security
What are the typical UNIX OS layers? - answersUser Level, Kernel Level
What is contained within the typical UNIX OS kernel level? - answersA machine
dependent level with a portable OS layer on top of that.
What is typically at the user level in UNIX - answersThe libraries and the application on
top of the libraries
What is the application level? - answersThe application has user function calls which
are written and compiled by programmers.
What does the library level of the UNIX OS layers consist of? - answersLibraries are
pre-compiled objects like libc, libssl that are defined in standard headers, and can be
input to the compiler linker. They are invoked like functions, and amy be resolved when
the application is loaded.
How is an application created by gcc? - answers1. the preprocessor(cpp) transforms the
program before compiling.
2. The compiler( cc) compiles the program into assembly code
3. The assembler(as) compiles assembly code into relocatable object files
4. The linker(ld) links object files into an executable
How does an application get executed? - answersThe loader prepares applications for
execution. It reads the executable file, lays out the code and the data and also
dynamically links to shared libraries
How is an application laid out in memory? - answersThe application is split into 4
segments:
1. Code - the instructions,the pc points to a location here
2. Data - contains the global variables.
3. Stack
4. Heap
Why are code and data separated? - answersCode is read-only and data is read and
write
, Why do the stack and heap grow toward each other? - answersTo maximize space
efficiency
What is a monolithic kernel? - answerse.g. linux - very fast because direct
communication between Application and kernel. => great performance BUT instable
because one problem could bring entire system down
What is a micro-lithic kernel - answersseparates application and OS service. The
microkernel makes it easier to isolate faults BUT it is less efficient because have to
cross boundaries between user level kernel OS service. Message passing less efficient
Why would you want a combination of a micro and monolithic kernel?
What are some examples? - answersWindows and MacOS are combos.
In the micro-kernel, what is put in the OS service layer rather than the kernel? -
answersNetworking, file system and device drivers are not sensitive enough to need to
be in the kernel, while job scheduling, memory management and communication should
remain handled by the kernel.
What is a process? - answersa program in execution
What resources does a process need? - answersprocessing time, memory, files, I/O
devices
What responsibilities does the OS have in terms of process management? -
answersscheduling processes on the CPU, creating suspending, deleting processes
process synchronization,
process communication
What responsibilities does the OS have in terms of memory management? -
answerskeeping track of who owns what memory and how it was used, deciding what
data to moce into and out of memory,
allocating and deallocating memory space as needed
What responsibilities does the OS have in terms of file system management? -
answerscreating/deleting files/directories
supporting primitives for manipulating files/directories
mapping files onto secondary storage
What responsibilities does the OS have in terms of mass storage management? -
answersmanaging free space, allocating storage, disk scheduling
What responsibilities does the OS have in terms of I/O devices management? -
answersmemory management -> buffering, caching, and spooling