what is the kernel what does it do why
is it called that does it have something
to do with the military rank no it has
more to do with fruits and nuts don't
worry we'll clear all that up in this
week's episode of the Android power user
in the real world that kernel is the
softer usually edible part of a seed or
a nut that's contained within a hard
outer shell in computing the kernel
isn't that much different though I
wouldn't recommend you try and eat it
think of it like popcorn I love popcorn
you've got a popcorn kernel and looking
on that if you try and eat it raw you're
probably going to chip a tooth not
something I'd recommend but with the
right circumstances in this case the
right amount of oil heated to the right
temperature you can release all of the
goodness that's inside the kernel and
you end up with something delicious
they're on a little bit of butter some
salt maybe some shredded cheddar cheese
mmm wonderful but that's not we're
talking about today this hasn't turned
into a cooking show we're still talking
about Android well and by extension
anything really that has a computer chip
and an operating system with it so what
is it when you talk about kernels and
computing let me tell you what wikipedia
says and I'll read this just so I don't
mess it up the kernel is the main
component of most computer operating
systems it's a bridge between
applications and the actual data
processing done at the hardware level
okay we got that so it's a middleman how
does that have to do with a kernel like
the inside of a nut well the way to get
it all the hardware is done through the
kernel but the kernel because you've got
all kinds of stuff that may want to
access that hardware has to be protected
so it's got a hard outer shell on it
metaphorically speaking that only allow
specific stuff through
stuff that has the right level of
permissions as it were to be able to
penetrate that outer shell get at the
soft gooey wonderfulness that's on the
inside and do all kinds of cool stuff
well if you've got the right api's if
you've got the right programming hooks
you can do pretty much what you want but
you can't do it in an unsafe way now
what does all this through a process
called abstraction and in fact the
kernel can be considered an abstraction
layer in fact the lowest level of
abstraction layers what does all that
mean well it's complicated computer
lingo that essentially means if you want
to talk to the camera you talk to the
camera but you're not really talking to
the camera you're talking to an
abstraction layer of the kernel that
pretends like it's a camera to let you
talk to the camera so any of that makes
sense essentially you use the same type
of commands that you would to talk to
the camera but by putting the kernel in
place you can have any number of
different camera hardware on the far
side and if the kernel handles all of
the camera activities and has a unified
API on the application side as you my
hands your application kernel camera
well if it's got the same API is here in
the middle your app manufacturers your
app developers just right once to talk
to this fictitious camera that doesn't
really exist the kernel takes care of
figuring out how to talk to the actual
hardware and it does it all for you
abstraction you gotta love it it does a
little bit more than just that say if
you want to run any old application
plants vs. zombies let's say well the
kernel is going to set up its nice
little own address space in RAM in
memory so it can load up and just run
now I'm oversimplifying things here a
little bit but stick with me plants vs.
zombies can now run inside that address
space and nowhere else if it tries to
run someplace else it's going to throw
an exception that means an error but by
doing that it protects the entire sense
them from programs doing things that
they shouldn't do things that they don't
have permission to do that we don't want
them to do like viruses like worms like
trojans like all kinds of malicious
software but that's where the chink in
the armor is you see we've already let
this stuff into memory to execute so you
don't have to break into the Colonel's
heart outer shell
all you got to do is hijack one of these
apps piggy back to your code into the
code that's running in the the memory
address space that was already allocated
by the kernel and now you can execute
your malicious code right alongside with
plants vs. zombies not very cool but
that's the way a lot of the stuff gets
through so all of this sounds really
really complicated right well it is and
that's why you've got really really
smart people that develop kernels that
help push everything forward without
opening holes and gaps that could lead
to problems that let regular developers
write stuff that runs anywhere without a
problem but that in a nutshell pun
intended is what the kernel is and what
it does why we've got it why it's so
important when we're talking about
custom roms when we're talking about
overclocking and underclocking and doing
all kinds of stuff with our hardware
then it may not have been originally
intended to do that but that's not gonna
stop us why because we're Android power
users but now it's your turn do you have
questions comments want to add to the
discussion want to clarify any slight
technical inaccuracies that came about
because of the simplification of the
topic please let us know in the comments
over at pocketnow.com if you're watching
this video on youtube we'll have that
link right down there just go ahead and
click on that over to pocket now comment
down at the bottom so that we can all
learn and develop our minds and our
understandings of these really cool
tools that we use on a daily basis
head on over there if you liked this
video if you liked the series to give it
a big thumbs up we'd really appreciate
that it helps share your understanding
and well this video to other people who
may not know all this stuff already so
please go ahead and do that big thumbs
up for pocket now the Android power user
I'm Joe Levi thanks for watching
We are a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for us to earn fees by linking to Amazon.com and affiliated sites.