Computer Science I Essentials
By Randall Raus
5/5
()
About this ebook
Related to Computer Science I Essentials
Related ebooks
Introduction to Computer Fundamentals Rating: 4 out of 5 stars4/5Fundamentals of Programming: Using Python Rating: 5 out of 5 stars5/5History Of Computers Rating: 0 out of 5 stars0 ratingsUnderstanding Computers, Smartphones and the Internet Rating: 5 out of 5 stars5/5Computer Science II Essentials Rating: 0 out of 5 stars0 ratingsCOMPUTER SCIENCE FOR ROOKIES Rating: 0 out of 5 stars0 ratingsPrinciples of Computer System Design: An Introduction Rating: 1 out of 5 stars1/5Programming for Everyone Rating: 3 out of 5 stars3/5Data Structures I Essentials Rating: 0 out of 5 stars0 ratingsData Structures and Algorithm Analysis in Java, Third Edition Rating: 4 out of 5 stars4/5Computer Storage Fundamentals: Storage system, storage networking and host connectivity Rating: 0 out of 5 stars0 ratingsComputer Applications: The Beginner's Guide Rating: 0 out of 5 stars0 ratingsComputer Studies Course for Rusty Readers Rating: 0 out of 5 stars0 ratingsBasic Computer Course, For Beginners and Technology Students Rating: 0 out of 5 stars0 ratingsComprehensive Computer Learning Rating: 5 out of 5 stars5/5Understanding Computer Studies Grade 8 Junior Secondary Rating: 4 out of 5 stars4/520 Windows Tools Every SysAdmin Should Know Rating: 5 out of 5 stars5/5Computer Science: A Concise Introduction Rating: 4 out of 5 stars4/5The Absolute Beginner's Guide to Binary, Hex, Bits, and Bytes! How to Master Your Computer's Love Language Rating: 5 out of 5 stars5/5Beginning Programming with C++ For Dummies Rating: 0 out of 5 stars0 ratingsLearn to Code. Get a Job. The Ultimate Guide to Learning and Getting Hired as a Developer. Rating: 5 out of 5 stars5/5Introduction to Programming Languages Rating: 4 out of 5 stars4/5C Programming Language, A Step By Step Beginner's Guide To Learn C Programming In 7 Days. Rating: 4 out of 5 stars4/5Computer Organization and Design: The Hardware / Software Interface Rating: 4 out of 5 stars4/5Getting a Coding Job For Dummies Rating: 4 out of 5 stars4/5The Self-Taught Computer Scientist: The Beginner's Guide to Data Structures & Algorithms Rating: 0 out of 5 stars0 ratingsC language Programming: Simple, Short, and Straightforward Way of Learning C Programming Rating: 3 out of 5 stars3/5Collins Computer Science Coursebook 1 Rating: 5 out of 5 stars5/5Information Technology: Made Simple Rating: 4 out of 5 stars4/5
Computers For You
SQL QuickStart Guide: The Simplified Beginner's Guide to Managing, Analyzing, and Manipulating Data With SQL Rating: 4 out of 5 stars4/5Deep Search: How to Explore the Internet More Effectively Rating: 5 out of 5 stars5/5CompTIA Security+ Get Certified Get Ahead: SY0-701 Study Guide Rating: 5 out of 5 stars5/5The ChatGPT Millionaire Handbook: Make Money Online With the Power of AI Technology Rating: 0 out of 5 stars0 ratingsCreating Online Courses with ChatGPT | A Step-by-Step Guide with Prompt Templates Rating: 4 out of 5 stars4/5Mastering ChatGPT: 21 Prompts Templates for Effortless Writing Rating: 5 out of 5 stars5/5How to Create Cpn Numbers the Right way: A Step by Step Guide to Creating cpn Numbers Legally Rating: 4 out of 5 stars4/5Procreate for Beginners: Introduction to Procreate for Drawing and Illustrating on the iPad Rating: 0 out of 5 stars0 ratingsGrokking Algorithms: An illustrated guide for programmers and other curious people Rating: 4 out of 5 stars4/5The Professional Voiceover Handbook: Voiceover training, #1 Rating: 5 out of 5 stars5/5The Insider's Guide to Technical Writing Rating: 0 out of 5 stars0 ratingsCompTIA Security+ Practice Questions Rating: 2 out of 5 stars2/5Remote/WebCam Notarization : Basic Understanding Rating: 3 out of 5 stars3/5Dark Aeon: Transhumanism and the War Against Humanity Rating: 5 out of 5 stars5/5Artificial Intelligence: The Complete Beginner’s Guide to the Future of A.I. Rating: 4 out of 5 stars4/5Ultimate Guide to Mastering Command Blocks!: Minecraft Keys to Unlocking Secret Commands Rating: 5 out of 5 stars5/5Mindhacker: 60 Tips, Tricks, and Games to Take Your Mind to the Next Level Rating: 4 out of 5 stars4/5Everybody Lies: Big Data, New Data, and What the Internet Can Tell Us About Who We Really Are Rating: 4 out of 5 stars4/5Standard Deviations: Flawed Assumptions, Tortured Data, and Other Ways to Lie with Statistics Rating: 4 out of 5 stars4/5Elon Musk Rating: 4 out of 5 stars4/5Network+ Study Guide & Practice Exams Rating: 4 out of 5 stars4/5What Video Games Have to Teach Us About Learning and Literacy. Second Edition Rating: 4 out of 5 stars4/5
Reviews for Computer Science I Essentials
7 ratings0 reviews
Book preview
Computer Science I Essentials - Randall Raus
Architecture
CHAPTER 1
Fundamental Computer Concepts
There are many types of computers, from laptops, which use batteries and require only a minimum amount of power, to supercomputers, which are capable of billions of calculations a second and use so much power that their processors need to be continuously cooled in a bath of special fluids. Computer types also range from personal computers, which are designed for a single user, to powerful mainframes, which serve hundreds of users simultaneously.
However, there are certain concepts that all computers have in common. In this chapter we will define and discuss those concepts.
1.1 Layers of a Computer System
A computer has three layers. The first layer is the hardware or the computer itself. It consists of the central processing unit, random access memory, and peripheral devices. Peripheral devices include disk drives, monitors, printers, and anything else that might be connected to a computer.
The second layer is the system software. There are three kinds of system software. The first kind is utilities, which allow users to do things like format a disk, sort a file, or set the system clock. The second kind of system software is language programs like compilers and assemblers which convert programs written by users to machine language. Since a machine language is usually unique to a type of computer (Macintosh programs, for example, won’t usually run on IBM-compatible PCs), language programs generally come with a computer.
The third and most important kind of system software is the operating system. An operating system comprises those system programs that are not utilities or language programs. A good portion of an operating system’s programs or subprograms is memory resident and acts as an interface with the hardware that allows users to run other system programs and application programs.
Operating systems have what is called a kernel. The kernel is that part of the operating system which has to be very fast and efficient. Kernels are often written in assembly language, which is the closest language to machine language. Kernels contain machine language instructions which perform tasks like servicing interrupts, which are interruptions of the program that is currently running. Updating the system clock every so many thousandths of a second is an example of an operating system servicing an interrupt.
In a multiprogramming environment (at least two programs running simultaneously), the kernel contains a scheduler which allocates a time slice to each program that is running. If a program is waiting for input/output from a peripheral device such as a disk drive, the scheduler changes the programs status to wait.
When the disk drive’s interface signals by means of an interrupt that it has the data the program requested, the operating system services the interrupt by transferring the data from the disk drive’s interface to the location in memory requested by the program. It then changes the status of the program to ready,
so it will run on its next time slice. Then the operating system returns control to the program that was running so it can finish its time slice.
In a multiprogramming environment the operating system acts as a resource allocator. When a program is not able to run because it requests a file on disk that is being used by another program, a printer is not available, or the operating system is not able to allocate enough memory for the program to run, the scheduler changes the program’s status to blocked.
When the resource becomes available the status is changed to ready.
The operating system performs tasks that are common to every program, such as input/output, so application programs don’t have to reinvent the wheel.
Input/Output is nearly always interrupt-driven, with the operating system handling I/O by servicing interrupts. One of the reasons so many users can use a computer in a time-sharing system is because most programs spend a lot of time waiting for I/O, especially waiting for users to type on keyboards; people are very slow compared to computers. The few programs that aren’t in a wait
state are allocated a substantial amount of execution time.
The third layer of a computer system is the application software. Application software can be anything from a word processor to a payroll program to a scientific program running on a supercomputer. The overwhelming majority of all software run on computers is application software.
1.2 Basic Terms and Definitions
Serial Access Memory—A tape drive is a serial access memory device, which must be accessed serially by winding and unwinding a spool of magnetic tape. Tape drives are not used nearly as much as they used to be, but are still handy for backing up disk drives.
Direct Access Memory—A disk drive, which may be better thought of as semi-random access, is a direct access memory device. The movable head goes directly to the track containing the sector to be accessed, but then waits while the disk spins to the sector to be accessed.
Random Access Memory—The main memory of computers is random access memory or RAM and is very fast compared to disk drives. Data may be accessed at random at any memory location. RAM is constructed from solid state electronic devices and is made up of many thousands of tiny transistors and other electronic components.
Read-Only Memory—Read-only