Informações da Disciplina

 Preparar para impressão 

Júpiter - Sistema de Gestão Acadêmica da Pró-Reitoria de Graduação


Escola Politécnica
 
Engenharia de Comp e Sist Digitais
 
Disciplina: PCS3616 - Sistemas de Programação
Systems Programming

Créditos Aula: 6
Créditos Trabalho: 0
Carga Horária Total: 90 h
Tipo: Quadrimestral
Ativação: 01/01/2016 Desativação:

Objetivos
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.
 
To familiarize the student with the overall operation of a computational system software, emphasizing concepts, fundamentals, and architecture details and internal design of system programs such as loaders, dumpers, libraries, relocators, allocators, linkers, editors, macro expanders, assemblers, to analyze, design, specify and select software of that category.

To develop, in laboratorial activities, a set of computer experiments to exercise experimental and implementation aspects of the most important basic software introduced and developed in this course.
 
 
Docente(s) Responsável(eis)
319590 - Anarosa Alves Franco Brandão
48341 - João José Neto
3521070 - Marcos Antonio Simplicio Junior
1846990 - Ricardo Luis de Azevedo da Rocha
 
Programa Resumido
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.
 
Computational system software, its fundamentals, and architecture details. Internal design of system programs such as loaders, dumpers, libraries, relocators, allocators, linkers, editors, macro expanders, assemblers. Implementation of loaders, dumpers, two-pass assemblers, relocators and linkers.
 
 
Programa
AULAS EXPOSITIVAS
1. 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
 
SYLLABUS
1. Concepts, components, architecture of system programs.
2. Register level Simulation of a von Neumann architecture .
3. Basic commands for a script language of a simple operating system.
4. Architecture of loaders and dumpers for absolute binary programs - with redundancy.
5. Machine language Programming: binary and symbolic.
6. Absolute assembly languages. Absolute assemblers.
7. Relocatable assembly languages. Relocatable assemblers.
8. Two-pass and one-pass assemblers for absolute and relocatable languages: architecture, operation, use and internals.
9. Relocatable object programs; Libraries; run-time systems.
10. Relocation and relocators; linkers.
11. Macros: concept, planning, declaration and macro expansion.
12. Symbolic languages with macros: macro assemblers.
13. Text editors.
14. General purpose macro expanders.

Laboratorial activities
• Loaders and Dumpers
• Two-pass assemblers
• Relocators
• Linkers
 
 
Avaliação
     
Método
Duas provas. Avaliação de relatórios, exercícios e projetos, e do desenvolvimento correto e completo do software.
Critério
Se MP < 5, então Nota Final = MP
Se MP >= 5 e T < 5, então Nota Final = T
Se MP >= 5 e T >= 5, então Nota Final = (P1 + 2*P2 + T) / 4
em que:
MP = (P1 + 2*P2) / 3
P1 = Nota da primeira prova
P2 = Nota da Segunda prova
T = Nota de projeto e/ou exercícios
Norma de Recuperação
Se MP < 5 e T < 5, a recuperação será composta por Prova e Trabalho, ambos com o mesmo peso.
Se MP < 5 e T >= 5, a recuperação será composta por Prova, somente.
Se MP >=5 e T < 5, a recuperação será composta por Trabalho, somente.
 
Bibliografia
     
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.
 

Clique para consultar os requisitos para PCS3616

Clique para consultar o oferecimento para PCS3616

Créditos | Fale conosco
© 1999 - 2024 - Superintendência de Tecnologia da Informação/USP