What provides access to system programs for editing compiling and so on?

Editing and compiling a systems program requires access to the source code as well as included source/header files and libraries. Commercial source code is only available if it is distributed under an open source licence while closed source is only available if you receive or purchase rights to the source code from the vendor.

Once you have access to the source code, any text editor can be used to edit the code although A code editor specific to the language may make things easier. You also need a compiler to compile the edited code, including the "make" file if there is one. Source code may be compiler-dependent and/or architecture-dependent and you may need the same compiler and/or architecture used for the original source.