Module 1 Unit 6
System Software – Operating Systems
Reflection of unit
Operating Systems and Data Structures notes:
Mobile devices like phones, tablets and other smart devices run specific operating systems. These operating systems only work on specific devices. E.g., iOS (iPhone operating system) runs on an iPhone and Android always runs on a Google Pixel phone.
A multiprocessor system contains two or more processors that share resources.
Operating System Components:
- The user interface allows users to communicate via text (shell) or graphical user interface.
- The kernel allows users to perform tasks, including managing files and folders (via directory path), allowing devices to communicate with the computer, managing memory and storage.
The operating system follows a sequence of steps to run a computer and the process is called booting. When a computer starts, first of all it needs to have an initial program to run. An operating system creates an environment by which multiprogramming can be accomplished. Multiprogramming is an essential feature of any operating system, where several programs are kept in the main memory at the same time, and the CPU can access these programs when needed.
Primitive data structures are basic data types and can be stored, manipulated and organised by direct machine instructions. Integers, floats, characters and pointers are basic data types. Non-primitive data types are complex data abstractions which consist of arrays, lists and files.
An array stores blocks of data which are of same type.
Stack is a data structure which performs insertion and deletion operations at one end only. The insertion operation in stack is ‘Push’ operation whereas the deletion operation is ‘Pop’ operation. Stack maintains a Last in First Out (in other words LIFO) data structure.
The Queue data structure allows for the insertion at one end and deletion operation on the other end. The insertion point is called ‘Rear’ and the point where deletion takes place is called ‘Front end’. Queue follows the First in first out (in other words FIFO) data structure.
In a tree, the data elements are arranged in nodes, branches and in sub-branches according to requirements. The structure is therefore in hierarchical order and these data elements are connected by edges.
When considering storing lists, there are two types to differentiate between:
- Continuous List which is a list in which entries are stored in an array.
- Linked List which are lists in which entries are linked by pointers. The pointer can refer to any location in the memory. Linked lists contain items which are not organised in sequence.
A Binary Tree is a tree data structure with special conditions. A node in a tree structure refers to a pair of nodes as such that an edge connects these two nodes to its root node. Each node in a binary tree contains a data cell, and a maximum of two child nodes (left and right). These child nodes are pointers to the left and right subtrees respectively. A binary tree is searchable only if each node contains a key.
Python programming:
Have completed the Learning Python activities in Codio. Have some experience with Python already but good to refresh my memory and learn some new aspects in Python.