If you're seeing this message, it means we're having trouble loading external resources on our website.

If you're behind a web filter, please make sure that the domains *.kastatic.org and *.kasandbox.org are unblocked.

Main content
Current time:0:00Total duration:5:23

Video transcript

[Music] hi my name is 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 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 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 are code running on this machine the software can be anything from apps and games to webpages in the 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 let's 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 the CPU receives simple commands that tell at which circuit to use to do a specific job for example an ad command tells the CPU to use its outer circuit to calculate a new number and then the Stork man 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 a 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 and 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 the 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 computer's memory it decides when a program is run by the central processing unit whether that program can access the computers input and output devices and when you think your computer is running many programs at once in reality it's 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 a 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 computer 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