For current computing frameworks, the ability to dynamically use the resources that are allocated in the network has become a key success factor. As long as the size of the network increases, it is more difficult to find how to solve the problems that the users are presenting. Users usually do know what they want to do, but they don't know how to do it. If the user knows its goals it could be easier to help him with a different approach. The amount of developed software and its complexity has currently grown so huge that it has lead to discover that traditional paradigms of software development are not enough to create complex software. That is why there is a constant work on new paradigms, to improve the level of abstraction needed to develop increasingly complex applications. Among these paradigms, we can highlight the Service-Oriented Computing paradigm and Multi-Agent Systems. Service-Oriented Computing (SOC) is a paradigm where the fundamental component for developing applications is the service. By using single services or service compositions it is possible to achieve solutions to problems in a decentralized manner with a high degree of adaptability. This paradigm, coupled with the cloud-computing one, is becoming very important today because both paradigms allow to develop applications based on platform-agnostic, distributed and low-cost computational elements. The use of SOC in multi-agent systems is endorsed by the proposal of achieving the agent goals by means of the invocation and composition of a set of services that are available within the multi-agent system. The analysis of the evolution of current operating systems, with particular attention to the abstractions used, revealed little use of these paradigms in design, maintaining a gap between applications designed using these modern paradigms and designs of the SO. Therefore, our proposal is to focus on major current challenges of computing science that are not solved by existing OS: the presence in the network, service-orientation and, of course, the three major design factors of OS: performance, security and reliability. For all this, our proposal is oriented to increase the level of the abstractions provided by the operating system and their services. This allows us to offer an OS execution layer integrated into the network, and security and reliability mechanisms which are not available in lower abstraction levels of current Operating Systems. These changes begin by replacing the paradigm that is used. Changing the abstractions that an OS uses is linked to the paradigm used, and by changing these abstractions we need to propose a new execution module for the OS that supports them. The execution module that implements this paradigm is also presented in this work. To solve this we present a new computing paradigm based on goals. This paradigm is called Distributed Goal-Oriented Computing paradigm. To implement this paradigm an execution framework for a Goal-oriented Operating System has been designed. In this OS users express their goals and the OS is in charge of helping the achievement of these goals by means of a service-oriented approach. It is also presented a framework which gives support to this paradigm following the requirements defined in this work. Some of these requirements comprise how to define the properties of a goal and the parameters that define the goodness of a plan. Some of the parameters that involve the creation and selection of a plan are time and trust. To do this, the operating system presents also a scheduler with deadline prediction abilities and benefits-based reasoning.