1. can I do this without it displaying the tabbing feature, im essentially wanting it to be exempt from view.
multishell can't, no. Search for a different OS if you want different behaviour.
2. second running something extremely simple like bg file
'file'
——-
while true do
print('1')
end
hangs the computer until it finally switches tabs and then will give an error "too long without yielding" after so long
When a computer/turtle starts running code, ComputerCraft starts a ten second timer. If that code doesn't yield before that timer ends then ComputerCraft will either crash the script or the whole computer (depending on the nature of the functions your script is calling). After each yield, any other systems waiting to run code may do so, then after they've all yielded, processing continues with a new time limit.
The reason why is that running your code chews up valuable server processing power, and so it shouldn't be able to monopolise it. In fact, only ONE CC device can run code at a time: While one is doing something, none of the others can do anything until it yields.
Whether or not it takes more than ten seconds for your code to execute has a little to do with the power of the Minecraft server it's running on, and a lot to do with how often you allow your code to yield. Pulling events (eg getting typed characters or checking timers) triggers a yield, and many commands (eg turtle movements, sleeping, or getting text input from the user) have to pull events to work anyway. Basically, anything that triggers a pause is pulling an event in order to do it, and in order to pull an event the code yields.
In your loop, you aren't yielding
at all, and so it'll crash in short order (regardless as to whether you run it in a separate multishell tab, or if you just run it "normally"). Add a "sleep(5)" or somesuch.