CMPSC 311 - Introduction to Systems Programming

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/20

flashcard set

Earn XP

Description and Tags

Flashcards about CMPSC 311 Lecture Notes

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

21 Terms

1
New cards

Multiuser

Supports multiple users on the system at the same time, each working with their own terminal.

2
New cards

Multitasking

Supports multiple programs at a time.

3
New cards

Portability

When moving from hardware to hardware, only the lowest layers of the software need to be reimplemented.

4
New cards

GNU (GNU is Not UNIX)

Free software project started by Richard Stallman in 1983, which includes gcc, gdb, bash, and emacs.

5
New cards

Linux

An operating system kernel developed by Linus Torvalds.

6
New cards

OS Kernel

Direct interaction with hardware/firmware

7
New cards

System Calls

Interface to the kernel

8
New cards

System Libraries

Wrappers around system calls

9
New cards

Programming Language Libraries

Extends system libraries

10
New cards

System Utilities

Application-independent tools.

11
New cards

Command Interpreter/Command Shell

User interface (in terminal program).

12
New cards

Application Libraries

Application-specific tools.

13
New cards

Applications

Complete programs for ordinary users.

14
New cards

Open Source Software

Distributed with a license where the copyright allows the user of the source to review, modify, and distribute with no cost to anyone.

15
New cards

Operating System

Software that directly interacts with the hardware, manages hardware resources, and abstracts away messy hardware devices.

16
New cards

OS as Abstraction Provider

A module that a program can call (with system calls) and provides a powerful API (the POSIX API).

17
New cards

Privilege Mode

Hardware state that restricts the operations that code may perform.

18
New cards

User Mode

Used for normal programs running with low privilege.

19
New cards

Kernel Mode

The operating system running with high privilege.

20
New cards

Device Driver

Software module that implements the interface to a piece of real or virtual hardware.

21
New cards

Kernel Modules (Loadable Kernel Modules)

Software modules that run in kernel space that can be loaded (and unloaded) on a running system, extending the kernel functionality without recompilation.