Quais as principais dificuldades que um programador teria no desenvolvimento de uma aplicação em um ambiente sem o sistema operacional ?
Soluções para a tarefa
Segue
a maior dificuldade que o programador teria é que ele teria que programar além da aplicaçào. O programa que ele fizer para funcionar sem Sistema Operacional teria que se preocupar com todos os aspectos do funcionamento do computador. O programa teria que programar todo os componentes de hardware: vídeo, teclado, mouse, placa de rede, disco rígido. Cada tarefa que a aplicação fosse fazer teria que ser detalhada num nível muito baixo para que o computador funcione. Por exemplo, suponha que a aplicação tenha que gravar um dado adicional ao final de um arquivo. Com o sistema operacional, o programador só precisaria usar a função "AppendToFile" do sistema operacional. Como não tem sistema operacional então o programador teria que fazer isso sozinho, detalhadamente. Seria algo mais ou menos assim :
1 - solicitar o status do HD
2 - Se o HD estiver ocupado, voltar a passo 1
3 - Mandar o comando para ler no HD o diretório
4 - Calcular, em função dos dados do diretório, onde é o fim do arquivo
5 - Mandar o HD posicionar a cabeça de gravação no setor calculado no passo 4
6 - Transferir os dados da memória do computador para o buffer do HD
7 - Ativar o comando de gravação no HD
8 - Reposicionar a cabeça de gravação no começo do setor gravado
9 - Mandar o HD ler os dados
10 - conferir os dados lidos com o que foi originalmente gravado
11 - Se os dados estiverem errados, abortar o programa e avisar o usuário que deu erro
12 - avisar ao usuário que os dados foram gravados corretamente
13 - Atualizar o diretório do HD
Cada uma das 13 instruções que listei aqui deverão ser específicas para o modelo de HD instalado. Isso significa que o programa, ao ser utilizado em outro computador diferente com um HD diferente terá que ser modificado para se adequar a esse novo ambiente.
Outras coisas que o programador teria que se preocupar :
1 - Alocação/desalocação da memória RAm
2 - Alocação do tempo de CPU
3 - Controle da transferência dos dados da memória de/para os periféricos (vídeo, teclado, mouse, HD, webcam, etc).
4 - ... muitas outras coisas.
Tudo isso que o programador tem que se preocupar nào é relacionado diretamente a tarefa que a aplicaçào tem que desempenhar. A lógica do negócio, suponha que seja o cálculo de Imposto de Renda, ou o cálculo da prestaçào da casa, ou a remoção de olhos vermelhos numa foto ou o envio de um email. A idéia de se utilizar o SO é que o programador se preocupe mais, concentre sua inteligência, na atividade fim da aplicação, sem se preocupar com as escovações de bits necessárias para que o computador funcione.
Caso um programador realizasse o desenvolvimento de uma aplicação que não executasse sobre um sistema operacional, as operações que lidam com os aspectos físicos do computador deveriam ser implementadas pelo programador, dificultando a criação dessa aplicação.
Sistema operacional
Um sistema operacional é uma aplicação criada para realizar a integração dos diversos componentes físicos que formam um computador, como a cpu, memórias, unidades de armazenamento (HD, SSD), periféricos (tela, teclado, mouse), etc.
O sistema operacional é o responsável por realizar a gerência desses elementos e a sua comunicação.
Assim, caso um programador realizasse o desenvolvimento de uma aplicação que não executasse sobre um sistema operacional, as operações que lidam com os aspectos físicos do computador deveriam ser implementadas pelo programador, dificultando a criação dessa aplicação.
Para aprender mais sobre sistemas operacionais, acesse:
https://brainly.com.br/tarefa/15824434
#SPJ2