Familiarizar o aluno com o funcionamento global do software de um sistema computacional, enfatizando conceitos, fundamentos e detalhes da arquitetura e do projeto interno de programas de sistema tais como: carregadores, descarregadores, bibliotecas, relocadores, alocadores, ligadores, editores, expansores de macros, montadores, para que possa analisar, projetar, especificar e selecionar softwares dessa categoria. Desenvolver nas aulas práticas um conjunto de experimentos em computador para exercitar os aspectos experimentais e de implementação de programas mais importantes de software básico, cujos conceitos e projeto são introduzidos e elaborados na presente disciplina.
Software de um sistema computacional, seus fundamentos e detalhes da arquitetura. Projeto interno de programas de sistema tais como: carregadores, descarregadores, bibliotecas, relocadores, alocadores, ligadores, editores, expansores de macros, montadores. Implementação de loaders, dumpers, montadores de dois passos, relocadores e ligadores.
AULAS EXPOSITIVAS1. Conceitos, componentes, arquiteturas de sistemas de programação.2. Simulação, em nível de registradores, de uma arquitetura de von Neumann.3. Comandos básicos para uma linguagem de script de um sistema operacional simples .4. Arquitetura de loaders e dumpers para programas binários absolutos, em formato com redundância.5. Programação em linguagem de máquina: binária e simbólica.6. Linguagens simbólicas absolutas. Montadores absolutos.7. Linguagens simbólicas relocáveis. Montadores relocáveis.8. Montadores de 2 e de 1 passos para linguagens absolutas e relocáveis: arquitetura, operação, uso e detalhes internos.9. Programas-objeto relocáveis; bibliotecas; ambientes de execução.10. Relocação e relocadores; ligadores.11. Macros: conceito, programação, definição e expansão de macros.12. Linguagens simbólicas com macros; Macro montadores.13. Editores de texto.14. Expansores de macros de uso geral.AULAS EM LABORATÓRIO• Loaders e dumpers• Montadores de 2 passos • Relocadores• Ligadores
1. Leland L. Beck, "An introduction to systems programming" 3rd edition, Addison Wesley, 1997 ISBN - 0321211774, 9780321211774.2. Salomon, D. “Assemblers and Loaders” – Prentice Hall, 1993 – ISBN 0130525642, 13 9780130525642.3. Calingaert, P. Program Translation Fundamentals: Methods and Issues, Rockville, MD.: Computer Science Press, 1988, 366 pp.4. Brian W. Kernighan, P. J. Plauger "Software tools in Pascal" Addison-Wesley, 1981 ISBN 0201103427 B04062001.5. Calingaert, P. Assemblers, Compilers, and Program Translation, Potomac, MD: Computer Science Press, 1979, 270 pp.6. Halstead “A Laboratory Manual for Compiler and Operating System” - American Elsevier, New York, 1975.7. Presser, L., and J. R. White, Linkers and Loaders, ACM Computing Surveys 4,3 (Sep. 1972) 149–167.8. Kent, W., Assembler Language Macroprogramming, ACM Computing Surveys 1,4 (Dec. 1969) 183–196.9. Barron, D. W., Assemblers and Loaders, 3rd ed., New York, N.Y.: American Elsevier 1968.