V

Unit 2 - Operating Systems Overview

Unit 2 - Operating Systems Overview

Addison Louie

What is an Operating System?

Operating System → A program that manages the computer hardware. It acts as a scheduler/simulator that allows the sharing of resources (CPU, I/O devices, memory, etc), to be available for the user, while also being able to recover them later. It provides a seamless interface for the user, making it easier for the user to use the environment or it can simulate an entirely different environment (user friendly). It provides commonly used subroutines and shortcuts to make it maintainable and efficient for the user and system.

  • No OS = Unusable hardware

OS Examples: Linux, Windows, MacOS, Android, iOS

Application Examples: Web browser, eMail client, word processor, messenger app


RTOS (Real-Time OS) → A very fast, specialized OS that responds to input immediately, rather than being delayed like Windows, Android, etc (robots and automobiles use RTOS)

Main Components

  1. Process Management

  • Deals with running multiple processes

  • Process → Every program (activity or task) running on a computer (background services/applications)

  • Processes can start, sleep, be active, or end

  • Multi-tasking → Managing multiple processes that need to use the computer hardware at the same time. Each process is given a slice of CPU time, so it looks like all of the processes are running concurrently (at the same time)

  • Multi-processing → When tasks are split across multiple processors (can be different CPUs or different cores in a single CPU)

  • Visible when an application “hangs” (stops working/frozen) and you can end the process, because the OS is always running process management

    1. Memory Management

    • Coordinates the different kinds of memory in a computer (cache, RAM, disk storage)

    • Allows virtual memory, which expands the DRAM to include HDD memory (with speed penalties)

    • Keeps track of DRAM needed by applications or processes and makes sure that there is no interference between processes using memory

    1. Disk and File Systems

    • The way that files are organized and stored on permanent storage (HDD or SSD)

    • Folders or directories will group files together

    • Manages the creation and deletion of files and the types of files and permissions

    1. Networking

    • How different computers and devices communicate and connect

    • Besides the internet, there are local networks that have different protocols (rules) for communication between computers on the home network and the internet

    • The OS will allow files to be shared or streamed across a network. Portions of disk drives (HDD or SSD) can be shared with other computers on the network

    • Multi-user → When multiple users can access a single computer only via networking. It is possible to share the CPU by allowing another user to run applications

    - Host → The computer that is running the multiple services that more than one user is accessing

    - Client → The users

    1. Security

    • Internal → Ensures that processes do not access data or locations inside the memory that does not belong to them

    • External → Ensures that external access to computer resources is only authorized users (login and password)

    • Networking → Ensures that external access to computer resources is only by authorized processes or users (e.g., firewall)

    • Anti-malware Activities → Monitors processes to make sure that malware is not active or is not accessing data


    Computer Security and Viruses

    Virus → A piece of code (program) that replicates by being copied or it initiates its copying to another program, computer boot sector, or document. It attaches itself to a “host” file and adds its own software instructions to the targeted file. Typically used to damage the contents of a users computer by erasing files or making it unusable

    • REQUIRE USER ACTION (unlike worms)

    • Can be transmitted as email attachments, in a download file, or present on a diskette

    • Can immediately harm or lie dormant until initiated by a circumstance/time

    • Increase their chance of spreading by infecting files that are accessed by multiple computers on a networked system

    Types of Viruses:

    1. File Infectors

    • Attach themselves to program files (.com or .exe)

    • Loading the file will load the virus

    • Can arrive as independent programs or scripts attached to email

    1. System or Boot-record Infectors

    • Infect executable code found on system areas of the disk or hard drive

    • Attached to the boot sector on a disk. They are undetectable until you reboot your computer, and can make it inaccessible

    1. Macro Viruses

    • Most common and causes the least damage

    • Often insert unwanted words and phrases into documents

    Protection:

    • Know that sources are clean

    → Avoid sites that look like they have had “previous problems”

    → Only open emails from sources you know

    • Run anti-virus software

    → Can be configured to scan emails before they enter your inbox

    → Searches hard drive and floppy disk for potential threats

    → Use softwares like AVG, Avast, Avira, etc

    • Password protect wireless networks

    • Maintain security updates

    • Use a firewall

    • Do not click on random links

      • Firewall → A program or hardware device that can be used to help protect a network from hackers who might try to break in and gain access to data. It filters incoming information from the internet connection to your personal computer/company’s network. Uses one way access, so only data that has been given permission can re-enter and data that cannot enter has been “blocked”


      Malware → Any software that executes a process with a user's consent. Designed to disrupt computer operation, collect sensitive information, and gain unauthorized access to a system

      Types of Malware

      Worms → Replicates without the need of host program or user actions. They spread through a network from one computer to the next, resulting in an entire network to not function properly (viruses aim to damage individual computers). They spread extremely fast to overwhelm the network’s ability to communicate, but require an exploit (weakness in security or network application) before spreading automatically


      Trojan Horse → Deceives the user by disguising itself as a standard program. It will usually open a back-door which allows further access to a computer for the attacker located somewhere on the internet (botnet). Do not typically damage the host computer data, but rather enables further exploitation for more malware to spread


      Spyware → Monitors your activity without your knowledge. This malware can be add-on extensions to your web browser or installed programs that are downloaded unknown to you. It can send your information via the internet to an attacker


      Adware → Software packages that automatically allow for advertisements (pop-ups). This can be used for spyware


      Rootkit → Malware that gets installed into privileged locations on your computer so that it has superuser/admin privileges as it is so deep within the software. Firmware Rootkits can install into the privileged software that is stored in flash memory typically for BIOS operations on hardware. Often used for spyware activities


      Social Engineering → Techniques used to trick a user into allowing an attacker to access personal data, passwords, or user accounts (a form of trojan horse). Often seen as people calling and posing as a bank employee so that you will give them your information


      Scareware → Makes a person act out of fear. You can be fooled into thinking that your computer is infected (fake warnings) when it really is not


      Keylogger → A form of spyware that records the text you type and sends this information to an attacker over a network. Therefore, it will record passwords/personal information that you type so that an attacker can gain access to your computer or financial information


      Ransomware → Encrypts files (locked in an unusable state, while preserving them) that you must pay the attacker to unlock for you (will send you a key to decrypt them)


      Botnet → When many computers infected with malware act together to attack other networks. A botnet is created when a back-door is opened on a computer that allows it to be controlled at the same time as other computers in the net (to send network packets to targeted networks)


      Some terms:

      Exploit → A weakness or flaw in your device (either hardware or software) that makes your device vulnerable to a hacker.  The hacker uses this opening into your device to intrude and introduce malware onto your device


      Patch → To “fix” for the exploit that removes the vulnerability. Usually involves updating your operating system, firmware, or anti-virus program


      Zero-day Exploit → A previously unknown weakness in your device that no one has patched yet. These exploits are kept as secret as possible by hackers, because once made public the vulnerability will be patched


      Backdoor → An opening that bypasses the security and allows direct access to sensitive internal function and data of a device. After an attack from a hacker, they can open a backdoor to gain access and control your computer. Sometimes, the backdoor is actually a feature that the original manufacturer intentionally puts into their device


      Encryption → The process of converting information into a coded format, making it unreadable to unauthorized parties