-Functions of an operating system (p. 2):
--Operate the computer’s hardware.
--Provide platform for applications.
-UNIX was initially written in assembly language and rewritten in C in 1972 (also by Bell Labs). (p. 5)
-Linux Torvalds created a UNIX clone and called it Linux. (p. 6)
-Operating system types (p. 7)
--Multi-user
--Multiprocessing
--Multitasking
--Multithreading
-Interrupts: Pathways by which hardware or programs can communicate with the OS. An interrupt is an asynchronous signal (usually from a hardware device) indicating the need for attention or a synchronous event (usually from a program) indicating the need for a change in execution. (p. 8)
-Daemons are called service in Windows. A daemon is a process that runs in the background and starts when the operating system boots. (p. 9)
-OSI model: Framework within which all network operations take place. All seven layers expect for the first layer are implemented in the OS. (pp. 10-11)
--Physical: Cabling and network card, electrical properties, interpretation of the exchanged signals
--Data link: Logical organization of data bits (subdivided into Media Access Control layer and Logical Link Control layer)
--Network layer: Routing information in the network. Addressing occurs here
--Transport layer: End-to-end communication control
--Session layer: Manages dialogue between end-user application processes
--Presentation layer: Handles issues such as syntactical differences in data representation within end-user systems
--Application layer: Connects to application processes
-The Linux kernel (pp. 12-13):
--An operating system kernel is the core of the operating system.
--Low-level input/output, hardware interfacing, memory management, facilitate execution of applications and support those applications such as hardware access and process management.
-GNOME GUI: One of the two most popular GUIs for Linux (next to KDE). (p. 17)
-Journaling file systems keep a record of file transactions so that files can be recovered. There is physical and logical journaling. Logical journaling only stores the changes to a file’s metadata (less robust). (p. 56)
-Microsoft moved to FAT32 with Windows 98 and later recommended the use of NTFS. But FAT can be read by many file systems and makes sense if a computer has both Windows and Linux installed. (p. 58)
-ext is the most important file system for Linux. Was created specifically for Linux. Ext4 is the current version and supports different journaling methods.
-Linux files: An inode is a data structure in the file system that stores all information about a file except the name and the actual data. When a file is referred to by name, the corresponding inode is looked up using the file name. There is a table with file names and inodes. An inode can refer to a file or a folder and is a link to the file. There are two types of links: Hard links that link directly to a specific file. When all references to this link are deleted, the file is deleted. The second type are soft/symbolic links. Here, the link is a pointer to another file or folder (shortcut). (pp. 61-62)
-The /etc folder contains configuration files. (p. 64)
-The /dev folder contains device files. (p. 66)
-The /usr folder contains all subdirectories and all files for all users on the system and documentation. (p. 68)
-A process in the context of OS is an executable that is running in its own memory space. (p. 77)
-It is possible to enable remote desktop access in GNOME. (p. 158)
-Shell scripting: User input can be obtained through read commands or through arguments. (pp. 236-237, 244-245)
-The pipe symbol is used to use the output of one process as the input of another process. (p. 244)
-Script functions use curly braces. Arguments are passed to functions in the same way as arguments are passed to scripts. (pp. 245-246)
-Grep is a search command grep search_term file_name. (p. 247)
-du command shows disk space that the current directory needs. (p. 247-248)
-free command displays memory information. (p. 248)
-dmesg shows all messages that were displayed during bootup. (p. 249)
-In the vi text editor, the user can switch between insert and command modes using ESC and i; q! is used to exit without saving. (pp. 250-252)
-Samba is a server for Windows-based clients that are connected to a Linux machine. (p. 257)
-Domain name services (DNS) translate domain names to IP addresses. (p. 275)
-A web server is a computer that listens to port 80 and responds to the HTTP requests it receives. (p. 317)
-Apache is a robust server that can be used with UNIX-based systems and Windows. (p. 321)
-There are two types of relation instances: Tables (permanently stored data found in a relation) and views (computed data values). (p. 344)
-There are three types of database schemas: Conceptual schemas, logical schemas, and physical schemas. (p. 344)