Main content
Code.org
Hardware and Software
Engineering manager Erica Gomez, program manager Jerome Holman, and Microsoft founder Bill Gates explain how a computer's hardware and software work together.
Want to join the conversation?
- Would it be correct to say that, without an operating system, one can not run programs/software on a computer?(38 votes)
- Not always they are so difficult (but they usually are, as she said). AFAIK, the Arduino microcontroller is an example of software that runs directly on hardware. It uses the C++ language for programming. The catch is that there is a software (more specifically, an IDE on the programmer's PC) for transferring the compiled program into an Arduino board with the click of a button.(14 votes)
- Dearly beloved family i want to learn a web development and programming. Simply put i want to become a Web Developer and A programmer to help create something that will help my community.
It's unfortunate i had a weaker background in computing.
Can you suggest a roadmap for me as a beginner?
I would be glad to hear from you.
Thanks a lot(8 votes)- From the author:You can learn web development from me here on KA:
https://www.khanacademy.org/computing/computer-programming/html-css
I wish you well on your coding journey!(30 votes)
- Dear community, I have a question regarding the execution of the INPUT. It is calculated in the CPU, but is this the first stop of the data, when it "enters" the hardware environment? My understanding so far, is that the input gets saved in the computer memory first, from where the corresponding software/program sends commands regarding the management of the data to the CPU. I don`t understand completely the workflow of the data.(7 votes)
- So in short, Operating Systems run or use algorithms to complete tasks or commands of the user? Am I understanding that correctly? Algorithms are the "catch-all" of to perform everything, right? When algorithms are broken down, they are ultimately made up of binary code at the lowest level?(2 votes)
- An algorithm is a step by step procedure on how to do something.
An algorithm could be executed by a person, a computer, or a machine.
A program may implement an algorithm in a programming language. It can be reduced into a bunch of 1s and 0s that can be interpreted by a computer as executable instructions. A file of executable instruction is known as an executable.
An operating system (which is a program itself) runs on the computer and tells the computer when to run other processes, including executables.
So, not all algorithms are programs.
e.g. when you learned long division in school, you learned an algorithm on how to do long division
(it was an algorithm intended for humans, not computers)
Not all programs are algorithms.
e.g. Most people wouldn't consider a "hello world" program to be an algorithm.
A program which does nothing, which is a perfectly valid program, also would not be considered to be an algorithm.
Programs often include a mix of stuff which implements algorithms, and stuff that doesn't.
e.g.
a game might use a collision detection algorithm to see when a hero is hit by lazers,
but a lot of the code which defines what types of objects are in the game normally wouldn't be considered as algorithms(10 votes)
- great video. learned many things about computer. thank you for the video.(5 votes)
- Is it a good idea to watch these videos if i am trying to learn how to build a computer?(4 votes)
- It may give you a better understanding of the inner workings of the computer that you're building. However, this information may vary in usefulness depending on what your overall goal is.
Do you need to know these things to build a computer? No.
Could this information be helpful in the computer building process?
Maybe.(4 votes)
- is it possible to have 2 operating systems on 1 computer(4 votes)
- Dear awesome community,i have a question, How data are stored when there is no electricity because data are 0s and 1s & 0s and 1s are just on and off and because there is no electicity there are no electric signals and no 0s and 1s.(3 votes)
- There are ways to store info without electricity, e.g., on a DVD or USB. Sometimes, it is made so that the information "stays" on a certain part of the circuit. This remains there until it gets changed, copied, or deleted.(3 votes)
- Is it possible if the software can be changed and upgraded to work better than before(2 votes)
- Of course, Microsoft makes better versions of Windows 10 almost once in a month.(3 votes)
- If a computer has no software at all on it, not even an OS installer or bootstrap loader, how is the first computer program installed on a computer with a clean installation?(3 votes)
Video transcript
(lively music) (women laughing) - Hi, my name's Erica Gomez and I'm an engineering manager at Amazon.com. One of the best things
about working in tech and at Amazon in
particular is that I get to bring my dog with me to work every day. My job is to help make sure
software gets out the door and her job is to nap under
my desk and snore very loudly. - My name is Jerome Holman and I'm a program manager on Team Xbox, And I have a really fun job. Basically bringing the hardware
and the software together to give you all the games
that you love on your Xbox. Oh. (laughing) - When you look inside a computing device you see a bunch of circuits,
chips, wires, speakers, plugs, and all sorts of other stuff. This is the hardware. But what you don't see is the software. Software is all of the computer programs, or code, running on this machine. Software can be anything
from apps and games to webpages and data science
software that me and my teams use at Amazon to understand
how customers behave. But how do the hardware and the software interact with one another? Lets start at looking at a computer's central processing unit, or CPU. - The CPU is the master chip that controls all the other parts of the computer. A CPU needs to do different
things, so inside it has smaller, simpler parts
that handle specific tasks. It has circuits to do
simple math and logic, it has other circuits to
send and receive information to and from different
parts of the computer. The real magic of the CPU is how it knows which circuits to use
and when to use them. - [Erica] The CPU receives simple commands that tell it which circuit
to use to do a specific job. For example, and add
command tells the CPU to use its adder circuit to
calculate a new number. And then the store command
tells the CPU to use a different circuit to save
that result into memory. Just like numbers, all
of these simple commands can be represented in
binary ones and zeros, or on and off electrical signals. The binary commands are stored in memory and the CPU fetches and
executes them in sequence one after the other. This sequence of commands is in fact the very simple computer program. - Binary code is the most
basic form of software and it controls all the
hardware of a computer. These days nobody writes
software in binary, it would take forever. Today, the software we
write looks more like this, or this, or even this. Programming languages like
these let you type in commands in something that looks
a lot like english. To draw a rectangle on the screen you just need a single command. This high level command is converted into hundreds or thousands
of simpler binary commands that the CPU understands. - Software tells the CPU what to do, but when you're listening to
music and browsing the web and chatting with a friend,
your computer is running multiple pieces of software all at once. So how do all of these programs
get on the computer in the first place, and how can the
CPU run them all at once? To find out we'll have to take a look at the operating system. - The operating system of a computer is the master program
that manages how software gets to use the hardware of the computer. For example, I helped create
the Windows operating system that runs on most personal computers. The operating system is a
program with special abilities that let it control the other
software on the computer. It lets you install new
programs by loading them into your computers memory. It decides when a program is run by the central processing unit,
whether that program can access the computer's
input and output devices. And when you think your computer
is running many programs at once, in reality,
its the operating system that's quickly switching between programs, sharing that CPU for
fractions of a second. - Inside every computer
is an operating system managing software that controls
the computer's hardware. The software is as series of commands made of simple binary
code, and that binary code is just electrical signals flowing through billions of tiny circuits. - Computers have the potential to do all kinds of amazing things, but the only thing that makes computers smart or useful is you. When you learn to code, you
get to define the problem you want to solve and write the software that turns those ideas into reality. That gives you the power to build things that matter to you, your
community, and the world.