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
Q

(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
-

A

process control

26
Q

(types of system calls | process control)
-for determining bugs, single step execution

A

debugger

27
Q

(types of system calls | process control)
-for managig access to shared data between processes

A

locks

28
Q

(types of system calls)
-create file, delete file
-open, close file
-read, write, reposition
-get and set file attributes

A

file management

29
Q

(types of system calls)
-request device, release device
-read, write, reposition
-get device attrivutes, set device attributes
-logically attach or detach devices

A

device management

30
Q

(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

A

information maintenance

31
Q

(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

A

communications

32
Q

(types of system calls | communications)
-create and gain access to memory regions
-transfer status information
-attach and detach remote devices

A

shared-memory model

33
Q

(types of system calls)
-control access to resources
-get and ser permissions
-allow and deny user access

A

protection

34
Q

-provides a portion of the system-call interface for many versions of UNIX and Linux.

A

standard C library

35
Q

-single tasking
-no operating system
-programs (sketch) loaded via USB into flash memory
-single memory space
-boot loader loads program
-program exit -> shell reloaded

A

arduino

36
Q

-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

A

FreeBSD

37
Q

-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

A

system services

38
Q

(system services)
-create, delete, copy, rename, print, dump, list and generally manipulate files and directories.

A

file management

39
Q

(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.

A

status information

40
Q

(system services)
-test editors to create and modifiy files
-special commands to search content of files or perform transformations of the text.

A

file modification

41
Q

(system services)
-compilers, assemblers, debuggers and interpreters sometimes provided.

A

programming-language support

42
Q

(system services)
-absolute loaders relocatablw loaders, linkage editors, and overlay-loaders, debugging systems for higher-level and machine language.

A

program loading and execution

43
Q

(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.

A

communications

44
Q

(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

A

background services

45
Q

(system services)
-don’t pertain to system
-run by users
-not typically considered part of OS
-launched by command linne, mouse click, finger poke

A

application programs

46
Q

source code compiled into object files designed to be loaded into any physical memory location

A

relocatable object file

47
Q

combines these into single binary executable file
-also brings in libraries

A

linker

48
Q

-programs must be brought into memory by this to be executed

A

loader

49
Q

-assigns final addresses to program parts and adjusts code and data in porgram to match those addresses.

A

relocation

50
Q

are loaded as needed, shared by all that use the same version of that same library (loaded once).

A

dynamically linked libraries

51
Q

-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.

A

apps

52
Q

-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.

A

application binary interface (ABI)

53
Q

(design and implementation)
-operating system should be convenient to use, easy to learn, reliable, safe, and fast.

A

user goals

54
Q

(design and implementation)
-operating system should be easy to desigm, implement, and maintain, as well as flexible, reliable, error- free, and efficient

A

system goals

55
Q

-specifying and designing an OS is a highly creative task of…

A

software engineering

56
Q

what needs to be done?
ex:interrupt after every 100 seconds

A

policy

57
Q

-how to do something?
ex: timer

A

mechanism

58
Q

-much variation
-actually usuallya mix of languages
-more high-level language easier to port to other hardware

A

implementation