SAPC Hardware Pentium CPU (or 486) 4M usable memory

Slides:



Advertisements
Similar presentations
Hardware Lesson 3 Inside your computer.
Advertisements

DISKLESS WORKSTATION IN LINUX
Chapter 2 How Hardware and Software Work Together.
PC bootup Presented by: Rahul Garg (2003CS10183) Rajat Sahni (2003CS10184) Varun Gulshan(2003CS10191)
Genesis: from raw hardware to processes System booting sequence: how does a machine come into life.
CS4315A. Berrached:CMS:UHD1 Operating Systems and Computer Organization Chapter 4.
COS318 Lec 21 Operating System Structures Vivek Pai Princeton University.
CS2422 Assembly Language & System Programming November 2, 2006.
1 Homework Reading Assignment –Professional Assembly Language, pp 39-59, MP1 –Get assignment file from my web page and study it –Make and populate.
Cs238 Lecture 3 Operating System Structures Dr. Alan R. Davis.
CCNA 2 v3.1 Module 2.
Khaled A. Al-Utaibi  Microprocessors  Microcontrollers  Embedded Systems.
Computer Concepts 2013 Chapter 4 Operating Systems and File Management.
COMP1070/2002/lec3/H.Melikian COMP1070 Lecture #3 v Operating Systems v Describe briefly operating systems service v To describe character and graphical.
Computer System Laboratory
Day 4 Understanding Hardware Partitions Linux Boot Sequence.
What is system software and what are its parts? Programs that control operation of computer Two parts are operating systems utility programs.
How Hardware and Software Work Together
Laface Operating System Design Booting a PC to run a kernel from Low memory VGA display.
CPS120: Introduction to Computer Science Introduction to Computers.
CS 444 Introduction to Operating Systems
Chapter 2 Instruction Addressing and Execution. Lesson plan Review some concepts in the first week First assembly program with EMU8086 Related concepts.
SAPC Hardware Pentium CPU (or 486) 4M usable memory no hard disk; boot from floppy no keyboard or monitor or mouse COM2 serial port: used for console i/o.
1 Homework Reading –PAL pp , Continue mp1 –Questions? Continue lab sessions with your section.
© 2006 Cisco Systems, Inc. All rights reserved.Cisco PublicITE I Chapter 6 1 Router Initialization steps.
Bootable Programs Building an O/S. Basic Requirements of any O/S Respond to interrupts (all kinds) Preserve user environment Protect users and self from.
IT Essentials 1 v3 Module 4 JEOPARDY IT Essentials 1 RouterModesWANEncapsulationWANServicesRouterBasicsRouterCommands RouterModesWANEncapsulationWANServicesRouterBasicsRouterCommands.
Lecture 2. General-Purpose Computer Systems Prof. Taeweon Suh Computer Science Education Korea University ECM586 Special Topics in Embedded Systems.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
1 © 2004, Cisco Systems, Inc. All rights reserved. CCNA 2 v3.1 Module 2 Introduction to Routers.
Chapter 2 Instruction Addressing and Execution. Lesson plan Review some concepts in the first week First assembly program with EMU8086 Related concepts.
Linux Introduction Linux was developed in the early 1990’s by Linus Torvald computer science student at the University of Helsinki Linux is distributed.
Introduction to Operating Systems Concepts
Computer Parts There are many parts that work together to make a computer work.
Computer and Internet Basics
Discussion on mp1.
Homework Reading Machine Projects Labs
Homework Reading Assignment Lab 1 MP1
Operating System & Application Software
An Introduction to Operating Systems
Chapter Objectives In this chapter, you will learn:
Homework Reading PAL pp ,
Operating System Review
Homework Reading Assignment Lab 1 Get ready for mp1
Chapter 1: A Tour of Computer Systems
Linux Kernel Module Programming
UNIT 9 Computer architecture
Computer Organization & Assembly Language Chapter 3
Structure of Unix OS.
CS703 - Advanced Operating Systems
Computer Parts There are many parts that work together to make a computer work.
Computer Parts There are many parts that work together to make a computer work.
Computer Parts There are many parts that work together to make a computer work.
Operating System Review
OS Virtualization.
Computer Parts There are four main equipment functions of a computer system: Input, Processing, Storage and Output. Input: the transferring of information.
CS 444 Introduction to Operating Systems
Demo of the Virtual SAPC Environment
Computer Parts There are four main equipment functions of a computer system: Input, Processing, Storage and Output. Input: the transferring of information.
Today’s agenda Hardware architecture and runtime system
Computer Parts There are many parts that work together to make a computer work.
CS 444 Introduction to Operating Systems
Computer Parts There are many parts that work together to make a computer work.
Lecture9: Embedded Network Operating System: cisco IOS
System calls….. C-program->POSIX call
System Calls System calls are the user API to the OS
Computer Parts There are many parts that work together to make a computer work.
Computer Parts There are many parts that work together to make a computer work.
Internet Applications (Telnet, FTP)
Lecture9: Embedded Network Operating System: cisco IOS
Presentation transcript:

SAPC Hardware Pentium CPU (or 486) 4M usable memory no hard disk; boot from floppy no keyboard or monitor or mouse COM2 serial port: used for console i/o COM1 serial port: used for remote gdb LPT1 parallel port: not used timer device PIT: used for periodic interrupts reset circuitry: used for remote reboot

SAPC Programming Environment More info at: www.cs.umb.edu/ulab/ www.cs.umb.edu/ulab/sapc_programming_env.html http://www.cs.umb.edu/ulab/mtip.intro.html

SAPC Memory Layout 0 - 0x9 FFFF : ordinary memory Sys Area code data 0x00100000 stack 0x003FFFFF 0 - 0x9 FFFF : ordinary memory 0xA 0000 - 0xB 0000: video memory 0xF 0000 - 0xF FFFF: BIOS 0x10 0000 - 0x3F FFFF: user memory System area

The “old” Picture SAPC’s in S-3-142 (OS is “Tutor” not UNIX) Sun Blade (OS is UNIX) ulab (OS is UNIX) emacs or vi COM2 IBM Compatible mtip COM2 IBM Compatible COM1 COM2 IBM Compatible COM1 COM2 IBM Compatible Putty/SFTP or SSH Communications via Internet Reset Server

Serial Port Connection to Port Master SAPC # COM Ports Port Master Ports 1 COM2 S29 2 COM2 S28 3 COM2 S27 4 COM2 S26 5 COM1, COM2 S24, S25 6 COM1, COM2 S22, S23 7 COM1, COM2 S20, S21 8 COM1, COM2 S18, S19 9 COM1, COM2 S16, S17 10 COM1, COM2 S14, S15 11 COM1, COM2 S12, S13 12 COM1, COM2 S10, S11 13 COM1, COM2 S8, S9 14 COM1, COM2 S6, S7

SAPC Software BIOS Tutor (and its bootstrap) burned in ROM available at power-up initializes the hardware, loads and start the Tutor bootstrap Tutor (and its bootstrap) loaded from floppy disk into RAM runs in kernel mode initializes more hardware, switches from 16-bit real mode to 32-bit protected mode

SAPC Software Support Directories $pcinc – headers $pcex – C examples $pcbook – for S&S1 chapters 2 and 3, assembler examples $pclibsrc – sources for the SAPC support library 1 “ The IBM Personal Computer from the inside out” by Sargent and Shoemaker

The “new” Virtualized SAPC Environment ulab.cs.umb.edu (Unix) SSH Secure Telnet tutor-vserver (Linux) SCP Your home directory and your cs444 directory COM1 COM2 tutor (Tutor) Virtual Development System Virtual Embedded System

The “new” Virtualized SAPC Picture Use the UNIX server (ulab) to edit your source files, compile and assemble them. Then transfer the executable and C code to an UNIX VM (tutor-vserver) running on a PC. Use the UNIX VM (tutor-vserver) as a server for downloading code to the tutor VM Use the UNIX VM (tutor-vserver) as a terminal locally attached to tutor VM’s COM ports and issue commands to the tutor VM

The “new” Virtualized SAPC Picture Instructions on how to set up the Virtualized SAPC Environment: VMWare Workstation for PCs: http://www.cs.umb.edu/~cheungr/cs341/VMWare-for-Tutor.pdf Modifications for VMWare Fusion on MACs: http://www.cs.umb.edu/~cheungr/cs341/VMWare-Fusion-config.pdf

Building a program for SAPC Follow 1st steps listed in www.cs.umb.edu/ulab login to ulab add “module load standard ulab” to .cshrc Copy my files in /courses/cs444/f18/cheungr/examples to your cs444 directory cd test_dir Use the makefile in test_dir to make the SAPC executable e.g.  ulab(65)% make C=test test.lnx The suffix “.lnx” is short for Linux, since we are using a Linux-originated executable format Program compiled using the i386-gcc compiler

Transfer programs to tutor VM Transfer the files to the tutor-vserver VM: Log into tutor-vserver VM using the credentials provided Transfer files from ulab to tutor-vserver VM: vserver$ scp username@users.cs.umb.edu:cs444/examples/test_dir/test.* . Download to tutor VM

Running the test program on tutor VM (cont’d) Download the test.lnx file to the tutor VM At the tutor-vserver VM, enter vserver$ mtip -f test.lnx After connecting to the tutor VM, you’ll see: …. Using board #1 Reboot the tutor VM by selecting the “Send Ctrl+Alt+Del” button at the tutor VM. You’ll see: Please type <CR> to confirm console settings: Hit <CR> at the vserver VM to get the Tutor prompt. Enter ~d to download the test.lnx file to the tutor VM After downloading, Tutor prompt will appear again

Running the test program on SAPC VM (cont’d) To execute the program, type Tutor> go 100100 Follow the program’s directions. It should finish up quickly and hand control back to Tutor. You will see Tutor prompt again. You can run it again by issuing command “go 100100” Type “~q” or two ctrl-Cs to quit out of mtip

Other mtip Commands To set up for remote gdb, follow the instructions in: http://www.cs.umb.edu/~cheungr/cs341/VMWare-for-Tutor.pdf Additional mtip commands and their functions can be found in www.cs.umb.edu/ulab/mtip.intro.html

More mtip Commands The ESCAPE CHARACTER: ~ This is the escape character that MUST precede ALL COMMANDS. (if you need to change it, use the -e argument to mtip) The Most Important Commands: (uppercase or lowercase: ~Q or ~q for quit, etc.) ~h - Help. Will display all commands possible. ~q - quit mtip back to UNIX. ~d - This command will download the file argued in the command line by the - f. ~f - This command will allow you to specify the download file from inside mtip (same effect as -f on command line) ~\char - Send one char to board "as is” ~! - This will allow you to issue a UNIX command to a subshell.

Protected mode vs Real Mode 32-bit protected mode means we can use 32-bit addresses; addressing up to 4G locations; w/memory protection; virtual memory 16-bit real mode means we can use 16-bit addresses, addressing up to 64K locations convention: AX: 16 bit register EAX: 32 bit register

Notes Extended memory - memory above 1MB All Intel processors above 286 starts out in real mode( 20-bit ~1MB of address space)