So in a linear programming problem, you have what is geometrically some sort of multidimensional object (polyhedron) and what is algebraically a matrix, or system of equations.
So in a such a problem, you usually want to get the extrema of the object, because it is at the corner points of this multidimensional object that the objective function (what the equations represent and are modelling) is at a max or min. So if you look at the algebra, since you have a matrix/system of equations, there is an assignment of variables (from the equation standpoint) or a solution vector (from the matrix standpoint) that identifies/is the coordinates of the extrema. Now some of these variables you will set equal to zero, and some you will solve for by setting the equations equal to each other. The ones you set equal to zero are "non basic variables". Any one not set equal is a "basic" variable.
For more details, go to http://home.ubalt.edu/ntsbarsh/opre640a/partiv.htm and conrol-f basic and start reading from there. Linear programming is pretty cool, good luck!