It predates Linux by a lot. It's software flow control for ancient terminals and modems that couldn't keep up, so they'd use in-band ^S and ^Q characters to manage the input and output.
rms also hated it, to the extent that he intentionally used Ctrl-S for the most basic search function of Emacs so that people would have to turn off the ^S/^Q crap throughout the path from the program to their terminal, or they wouldn't be able to use emacs. (Or at least so I've heard; I tried searching for confirmation but failed to find it.)
This sounds like something rms would do, but also seems like a great way to turn people off to your text editor. If you haven't learned Emacs before, are you really going to put up with broken-by-design behavior?
It seems its probably more of a shell thing, than a linux thing. I've never run into this as an issue before, but I would wager it's the "Save" muscle memory which unexpectedly causes this issue for some people.
Oh yeah the save muscle memory is burned into me too, despite having save-on-blur enabled for the last decade. More wondering under what context ctrl-s is having an effect on shell, and what that effect actually is. Is it bg/fg shenanigans?
What is this? Sorry in advance if it’s some basic Linux thing. I do my development on macOS with iterm2.