ICT1506C: Computer Systems Lecture 1: Introduction to Computer Systems Jan 2024.
Lecture 1 Overview. At the end of the lesson, you will be able to do the following: Describe the basic components of a computer system Explain how does Operating System works Describe the Windows and Linux Operating System architectures Describe the key Operating System functions and features Describe Operating System process and concurrency.
What is a Computer?. A computer is a programmable machine designed to automatically carry out a sequence of arithmetic or logical operations..
Types of Computer. A computer is a programmable machine designed to automatically carry out a sequence of arithmetic or logical operations..
Types of Computer. A computer is a programmable machine designed to automatically carry out a sequence of arithmetic or logical operations..
Types of Computer. A computer is a programmable machine designed to automatically carry out a sequence of arithmetic or logical operations..
Types of Computer. A computer is a programmable machine designed to automatically carry out a sequence of arithmetic or logical operations..
Computer Architecture. I/O system Processor Compiler Operating System (Windows 10, OSX, Linux) Instruction Set Architecture Address Bus, IO Bus & Control Bus Memory Software Assembler Application (Chrome, Excel) Digital Design Transistors Hardware.
Von Neumann Architecture. John Von Neumann proposed the stored program concept at Princeton University in 1945. Von Neumann architecture is a design for a computer with: CPU, Memory and I/O..
Von Neumann Architecture. Input/Output (I/O) CPU Memory Address bus Data bus Control bus.
A close-up of a computer chip Description automatically generated.
Symmetric Multiprocessing Architecture. Each processor has one core and own set of registers and cache memory but shares the main memory. Many processors can run simultaneously. However, workload may not be evenly distributed..
Multicore System. Multiple computing cores on a single processor chip. Each core appears as a processor to the Operating System and depends on it to make efficient use of these cores..
Check Your Understanding. Which of the following is not a basic component of a computer system? Processor Main memory Cache Router.
Check Your Understanding. Which of the following is not a basic component of a computer system? Processor Main memory Cache Router.
Check Your Understanding. Which of the following is not a basic component of a computer system? Processor Main memory Cache Router.
Check Your Understanding. Which of the following component is part of a processor? Main memory Register System bus Input and output system.
Check Your Understanding. Which of the following component is part of a processor? Main memory Register System bus Input and output system.
Check Your Understanding. Which of the following component is part of a processor? Main memory Register System bus Input and output system.
What is an Operating System?. A system software that manages computer hardware and software resources. Provides common services for programs. Also known as the kernel. Special access privileges mode. Some associated functions: boots up a machine loads user program allocates main memory and storage space schedules concurrent user programs manages drivers to devices..
What is an Operating System?.
Windowsl Windows 3.1 Windows 95 1985 1992 1995 Windows XP 2001 Windows Vista 2006 Windows 7 2009 Windows 8 2012.
User Interface. C szFO • •u Sz sz'E. Command Line Interface Graphical User Interface (CLI) (GUI).
History of Operating Systems. History of Operating Systems - Wikipedia.
Operating System Taxonomy. OS market Share 2020 Android Windows iOS OS X (Unix) Linux Other 38.299999999999997 36.6 14.3 8.4 1 2.
Why we need an Operating System?. Modern Operating Systems do all these things: Abstract away the hardware Provide consistent software interfaces Allow each program to think it is the only thing running on the computer. Make developing and porting codes quicker Help a lot when we are debugging Enforce system security Give a consistent look and feel to a computer.
Why we need an Operating System?. Single-user systems like MS-DOS only allow one program to run at a time. Some single-user systems like Windows can handle multiple concurrent tasks. Multi-user systems like Linux, MacOS-X, FreeBSD, and other UNIX versions allow multiple users run multiple concurrent tasks. Embedded systems are used to handle single tasks but are increasingly networked and become multi-user and multi-tasking. Clusters need OS level support for running programs across multiple CPUs..
Operating System Structure. The three common OS structures are: Monolithic (one large program) Simplest structure Difficult to maintain and enhance. Common in single-purpose embedded systems..
Operating System Structure. Layered (modular in layers) Divides into separate, smaller components that have specific and limited functionalities. Changes to one component affect only that component. For example, in Linux and Android..
Operating System Structure. Client-server (or microkernel) Modules have roughly equal status and communicate by sending messages only that component. For example, in Windows NT/2000/XP/Vista/7/8. Note that “client-server” refers to clients and servers within the system, not to any networking concept.
The Windows OS Architecture. Client-server or microkernel Operating System The kernel is small, providing only basic services. Other functionalities are contained in modules. These modules might not all be on the same machine!.
The Linux OS Architecture. Layered approach with 4 main components Hardware, Kernel, System Call Interface and User Applications (utilities) The Linux kernel is responsible for critical tasks like process control, networking, file system, security and memory management..
Windows versus Linux OS Architecture. Linux vs Windows Difference: Which Is The Best Operating System? (softwaretestinghelp.com).
Check Your Understanding. Which of the following Operating System is a single-user system? Linux Unix Windows MacOS-X.
Check Your Understanding. Which of the following Operating System is a single-user system? Linux Unix Windows MacOS-X.
Check Your Understanding. Which of the following Operating System is a single-user system? Linux Unix Windows MacOS-X.
Check Your Understanding. Which of the following is not an Operating System Structure? Microkernel Monolithic Layered Modular.
Check Your Understanding. Which of the following is not an Operating System Structure? Microkernel Monolithic Layered Modular.
Check Your Understanding. Which of the following is not an Operating System Structure? Microkernel Monolithic Layered Modular.
Operating System Functions. Three most important functions of an OS:- Resource manager: sharing the hardware and peripherals between programs and users. Virtual machine: programs can be written and executed as if they are the only thing running on that hardware. Security policies: who can access what data and resources, etc..
Running Programs. Secondary Memory Non-volatile memory where programs are stored Main Memory Program must be moved into the main memory or RAM before it can be executed by the CPU. Other Resources Program might use other part of the computer system like FPU and GPU as well as the monitor, mouse, keyboard, printer and network..
Resource Management. Internal Resources CPU (i.e., processing time), memory storage, network access, interrupts, storage (e.g., hard disc drive (HDD) or solid-state drive (SSD)). External Resources Displays, sound input/output, keyboard or buttons, mouse or touchscreen, things plugged in (like USB storage).
Virtual Machine. Early days Programs coordinated thing themselves. Programmers need to know what else is running! Today Programmer can write a program as if it is the only thing running. Operating Systems give each program its own virtual machine..
Task Switching.
Storage and Filing of data. Exact physical position of data must be specified to find them. Operating System simplifies things by attaching names and paths to stored data for easy storing and retrieving..
Protected Space. Without Virtual Machines Errors could be catastrophic bringing the machine to a halt. Virtual Machines Errors are contained and handled gracefully. OS takes details of the error for debugging. Prevent interference with other Virtual Machines..
Operating System Features. An Operating System typically provides 9 features: Support for concurrency Sharing mechanism(s) Persistent storage Non-determinacy Efficiency Reliability Resilience Maintainability Small size.
Support for Concurrency. Several tasks running “at the same time” require the Operation System to handle:- Context switching Scheduling Protection Synchronisation Concurrency is what enables multi-tasking..
Support for Concurrency. Concurrency is normally an illusion produced by the Operating System. Processes are switched on and off very rapidly. In a multi-core machine, there will be some real parallelism (not just the illusion), but processes are still switched on and off rapidly..
Sharing Mechanism(s). Sharing information and resources between concurrent activities For example, only having one copy of the code that displays a window on the screen For example, only having one printer driver. Helps to reduce costs Less storage space One point of control is more efficient Avoids repetition of work Solutions to common requirements (or to fix common problems) by other users/programs.