Week 2 on OS Flashcards

1
Q

-provide an environment for execution of programs and services to programs and users.

A

operating systems

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

(operating system services)
-almost all operating systems have this…
-it varies between: command-line (CLI), Graphics User Interface (GUI), touch-screen, batch.

A

user interface

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

(operating system services)
-the system must be able to load a program into memory and to run that program, end execution, either normally or abnormally (indicating error).

A

program execution

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

(operating system services)
-a running porgram may require I/O, which may involve a file or an I/O device.

A

I/O Operations

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

(operating system services)
-the file system is of particular interest. Porgrams need to read and write files and directories, create and delete them, search them, list file information, permission management.

A

file-system manipulation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

(operating system services)
-processes may exchange information, on the same computer or between computers over a network
-may be via shared memory or through message passing (packets moved by the OS).

A

communications

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

(operating system services)
-OS needs to be constantly aware of possible errors.
-may occur in the CPU and memory hardware, in I/O devices in user program
-for each type of error, OS should take the appropriate action to ensure correct and consistent computing.

A

error detection

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

(operating system services)
-when multiple users or multiple jobs running concurrently, resources must be allocated to each of them.
-many types of resources- CPU cycles, main memory, file storage, I/O devices.

A

resoruce allocation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

(operating system services)
-to keep track of which users how much and what kinds of computer resources.

A

logging

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

(operating system services)
-the owners of information stored in a multiuser or networked computer system may want to control use of that information, concurrent processes should not interfere with each other

A

protection and security

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

(operating system services | protection and security)
-involves ensuring that all access to system resources is controlled.

A

protection

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

(operating system services | protection and security)
-_of the system from outsiders required user authentication, extends to defending external I/O devices from invalid access attempts.

A

security

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

-allows direct command entry
-sometimes implemented in kernel, sometimes by systems program.
-sometimes multiple flavors implemented -shells
-primarily fetches a command from user and executes it.
-sometimes commands built-in, sometimes just names of programs.
–if the latter, adding new features doesn’t require shell modification.

A

command line interpreter

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

(user operating system interface)
-usually mouse, keyboard, and monitor
-icons represent files, programs actions, etc.
-various mouse buttons over objects in the interface cause various actions (poivide information, options, execute function, open directory known as a folder).

A

user-friendly desktop (metaphor interface)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

-mouse not possible or not desires
-actions and selection based on gestures
-virtual keyboard for text entry.
-voice commands.

A

touchscreen interfaces

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

-programming interface to the services provided by the OS
-typically written in a high-level language (C or C++).
-a number is associated with each of these
-mostly accessed by programs via a high-level Application Programming Interface (API) rather than direct system call use.
-three most common APIs are Windows, POSIX API for POSIX-based systems (including virtually all versions of UNIX, Linux and Mac OS), and Java API for the Java virtual machine (JVM).

A

system calls

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

-to copy the contents of one file to another file

A

system call sequence

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

a program that uses this function must include the unistd.h header file, as this file defined the ssize_t and size_t data types.

A

read ()

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

(parameters passed to read () | write)
-the file descriptor to be read

A

int fd

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

(parameters passed to read () | write)
-a buffer into which the data will be read

A

void *buf

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

(parameters passed to read () | write)
-the maximum number of bytes to be read into the buffer.

A

size_t count

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

-maintains a table indexed according to these numbers
-invokes the intended system call in OS kernel and returns status of the system call and any return values.

A

system call interface

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

-need know nothing about how the system call is implemented,
-just needs to obey API and understand what OS will do as a result call
-most details of OS interface hidden from programmer by API.

A

caller

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

-more information is required than simply identity of desired system call.
–exact type and amount of information vary accoridng to OS and call.

General Methods:
simplest: pass the parameters in registers
–in some cases, may be more parameters than registers.
parameters stored in a block, or table, in memory, and address of block passed as a parameter in a register.
–this approach taken by Linux and Solaris
-parameters placed, or pushed, onto the stack by the program and popped off the stack by the operating system.
-Block and stack methods do not limit the number or length of parameters being passed.

A

system call parameter passing

25
(types of system calls) -create process, terminate process -end, abort -load, execute -get process attribute, set process attributes -wait for time -wait event, signal event. -allocate and free memory -dump memory if error -
process control
26
(types of system calls | process control) -for determining bugs, single step execution
debugger
27
(types of system calls | process control) -for managig access to shared data between processes
locks
28
(types of system calls) -create file, delete file -open, close file -read, write, reposition -get and set file attributes
file management
29
(types of system calls) -request device, release device -read, write, reposition -get device attrivutes, set device attributes -logically attach or detach devices
device management
30
(types of system calls) -get time or date, set time or date -get system data, set system data -get and set process, file, or device attributes
information maintenance
31
(types of system calls) -create, delete communication connection -send, receive messages if message passing model to host name or process name -from client to server
communications
32
(types of system calls | communications) -create and gain access to memory regions -transfer status information -attach and detach remote devices
shared-memory model
33
(types of system calls) -control access to resources -get and ser permissions -allow and deny user access
protection
34
-provides a portion of the system-call interface for many versions of UNIX and Linux.
standard C library
35
-single tasking -no operating system -programs (sketch) loaded via USB into flash memory -single memory space -boot loader loads program -program exit -> shell reloaded
arduino
36
-unit variant -multitasking -user login -> invokde user's choice of shell -shell exectes fork () system call to create process --executes exec () to load program into process --shell waits for process to terminate or continues with user commands. -process exits with code=0 noerror code> 0 error code
FreeBSD
37
-provide a convenient environment for program development and execution. --file manipulation --status information sometimes stored in a file --programming language support -program loading and execution --communications --background services --application programs
system services
38
(system services) -create, delete, copy, rename, print, dump, list and generally manipulate files and directories.
file management
39
(system services) -some ask the system for infor - date, time. amount of available memory, disk space, number of users. -other provide detailed performance, logging, and debugging information -typically, these programs format and print the output to the terminal or other output devices. -some systems implement a registry - used to store and retrieve configuration information.
status information
40
(system services) -test editors to create and modifiy files -special commands to search content of files or perform transformations of the text.
file modification
41
(system services) -compilers, assemblers, debuggers and interpreters sometimes provided.
programming-language support
42
(system services) -absolute loaders relocatablw loaders, linkage editors, and overlay-loaders, debugging systems for higher-level and machine language.
program loading and execution
43
(system services) -provide the mechanisms for creating virtual connections among processes, users, and computer systems --allow users to send messages to one another's screens, browse web pages, send electronic-mail messages, log in remotely, tranfer files from one machine to another.
communications
44
(system services) -launch at boot time --some for system startup, then terminate --some from system booth to shutdown. -provide facilities like disk checking, process scheduling, error logging, printing. -run in user conext not kernel context -known as services, subsystems, daemons
background services
45
(system services) -don't pertain to system -run by users -not typically considered part of OS -launched by command linne, mouse click, finger poke
application programs
46
source code compiled into object files designed to be loaded into any physical memory location
relocatable object file
47
combines these into single binary executable file -also brings in libraries
linker
48
-programs must be brought into memory by this to be executed
loader
49
-assigns final addresses to program parts and adjusts code and data in porgram to match those addresses.
relocation
50
are loaded as needed, shared by all that use the same version of that same library (loaded once).
dynamically linked libraries
51
-compiled on one system usually not execuatable on other operating systems. -can be multi-operating system -written in interpreted langugae like Python, Ruby and interpreter available on multiple operating systems. -wirtten in language that includes a VM containing the running app. -use standard language (like C), compile separately on each operating system to run on each.
apps
52
-is architecture equivalent of API, defines how different components of binary code can interface gor a given operating system on a given architecture, CPU, etc.
application binary interface (ABI)
53
(design and implementation) -operating system should be convenient to use, easy to learn, reliable, safe, and fast.
user goals
54
(design and implementation) -operating system should be easy to desigm, implement, and maintain, as well as flexible, reliable, error- free, and efficient
system goals
55
-specifying and designing an OS is a highly creative task of...
software engineering
56
what needs to be done? ex:interrupt after every 100 seconds
policy
57
-how to do something? ex: timer
mechanism
58
-much variation -actually usuallya mix of languages -more high-level language easier to port to other hardware
implementation