We consider a Mobile Satellite System (MSS) supporting a very large number of beams and providing service to a massive number of Mobile Satellite Terminals (MST). We identify the challenges posed by the design of such a system and address them. More specifically, we propose algorithms to (a) design adaptive beamformers at the gateway and receivers at the MSTs; (b) acquire knowledge on the channel directivity; (c) allocate frequency bands or carriers; and (d) design the Random Access Channel (RACh). Thus, we verify the system feasibility and assess its performance against conventional satellite systems (SS). Simulations shows that the retained selection of algorithms allows to serve simultaneously with the required quality of service (QoS) about four times the number of MSTs served by a conventional system while halving the transmitted power. In general, the proposed system greatly outperforms the conventional one.