Information Security - 2

Slides:



Advertisements
Similar presentations
Virtual Memory Basics.
Advertisements

An Overview Of Virtual Machine Architectures Ross Rosemark.
Threads, SMP, and Microkernels
Introduction to The x86 Microprocessor
ITEC 352 Lecture 27 Memory(4). Review Questions? Cache control –L1/L2  Main memory example –Formulas for hits.
Chapter 15 Address Translation Chien-Chung Shen CIS, UD
Paging Hardware With TLB
4/14/2017 Discussed Earlier segmentation - the process address space is divided into logical pieces called segments. The following are the example of types.
Intel MP.
Memory Management Questions answered in this lecture: How do processes share memory? What is static relocation? What is dynamic relocation? What is segmentation?
X86 segmentation, page tables, and interrupts 3/17/08 Frans Kaashoek MIT
PC hardware and x86 3/3/08 Frans Kaashoek MIT
1 ICS 51 Introductory Computer Organization Fall 2006 updated: Oct. 2, 2006.
Modified from Silberschatz, Galvin and Gagne Lecture 15 Chapter 8: Main Memory.
Code Generation Compiler Baojian Hua
CS2422 Assembly Language & System Programming September 22, 2005.
X86 ISA Compiler Baojian Hua Front End source code abstract syntax tree lexical analyzer parser tokens IR semantic analyzer.
Course: Introduction to Computers
David Evans CS201j: Engineering Software University of Virginia Computer Science Lecture 18: 0xCAFEBABE (Java Byte Codes)
Computer Organization
Previous Next 06/18/2000Shanghai Jiaotong Univ. Computer Science & Engineering Dept. C+J Software Architecture Shanghai Jiaotong University Author: Lu,
ITEC 325 Lecture 29 Memory(6). Review P2 assigned Exam 2 next Friday Demand paging –Page faults –TLB intro.
6.828: PC hardware and x86 Frans Kaashoek
Instructor: Yuzhuang Hu Memory Hierarchy.
Operating System Support for Virtual Machines Samuel T. King, George W. Dunlap,Peter M.Chen Presented By, Rajesh 1 References [1] Virtual Machines: Supporting.
Cosc 2150: Computer Organization
COS 598: Advanced Operating System. Operating System Review What are the two purposes of an OS? What are the two modes of execution? Why do we have two.
Introduction: Exploiting Linux. Basic Concepts Vulnerability A flaw in a system that allows an attacker to do something the designer did not intend,
ITEC 352 Lecture 12 ISA(3). Review Buses Memory ALU Registers Process of compiling.
CIS250 OPERATING SYSTEMS Memory Management Since we share memory, we need to manage it Memory manager only sees the address A program counter value indicates.
Page 110/20/2015 CSE 30341: Operating Systems Principles So far…  Page  Fixed size pages solve page allocation problem (and external fragmentation) 
Computers Operating System Essentials. Operating Systems PROGRAM HARDWARE OPERATING SYSTEM.
5. Assembly Language. Basics of AL Program data Pseudo-ops Array Program structures Data, stack, code segments.
1 Text Reference: Warford. 2 Computer Architecture: The design of those aspects of a computer which are visible to the programmer. Architecture Organization.
1 ICS 51 Introductory Computer Organization Fall 2009.
Represents different voltage levels High: 5 Volts Low: 0 Volts At this raw level a digital computer is instructed to carry out instructions.
Assembly Language. Symbol Table Variables.DATA var DW 0 sum DD 0 array TIMES 10 DW 0 message DB ’ Welcome ’,0 char1 DB ? Symbol Table Name Offset var.
LOW vs. HIGH Level Languages
Sahar Mosleh California State University San MarcosPage 1 Assembly language and Digital Circuit By Sahar Mosleh California State University San Marcos.
Protection of Processes Security and privacy of data is challenging currently. Protecting information – Not limited to hardware. – Depends on innovation.
Information Security - 2. Task Switching Every process has an associated Task State Segment, whose starting point is stored in the Task register. A task.
Information Security - 2. CISC Vs RISC X86 is CISC while ARM is RISC CISC is Compiler’s heaven while RISC is Architecture’s heaven Orthogonal ISA in RISC.
Embedded Real-Time Systems
Chapter Overview General Concepts IA-32 Processor Architecture
Computer Organisation
Topics to be covered Instruction Execution Characteristics
Introduction to The x86 Microprocessor
Assembly language.
Virtualization Virtualize hardware resources through abstraction CPU
Questions To Ask When Considering Designing Asymmetric Multiprocessing Systems George Cox.
Assembly Lab 3.
COMBINED PAGING AND SEGMENTATION
Roadmap C: Java: Assembly language: OS: Machine code: Computer system:
The Operating System Nick Sims.
Microprocessor and Assembly Language
Anton Burtsev February, 2017
Information Security - 2
Assembly IA-32.
x86 segmentation, page tables, and interrupts
Intel Microprocessor.
Computer Programming Machine and Assembly.
Chapter 15, Exploring the Digital Domain
Fundamentals of Computer Organisation & Architecture
Memory Management Tasks
MARIE: An Introduction to a Simple Computer
Information Security - 2
Course Outline for Computer Architecture
System Calls System calls are the user API to the OS
Computer Architecture and System Programming Laboratory
CS444/544 Operating Systems II Virtual Memory
Presentation transcript:

Information Security - 2 Topic: Architectural Aid to Secure Systems Engineering V. Kamakoti RISE LAB, Department of Computer Science and Engineering IIT Madras Session – 7: STRUCTURED COMPUTER ORGANIZATION

Computer Organization Computer Organization Vs Computer Architecture Application Binary Interface (ABI) Compiler and Operating Systems interact with Architecture Compiler to Machine Language Translation Instruction Set Architecture (ISA) is crucial Understand the Compiler-Architecture ABI

Structured Computer Organization Compilers ask for features from the Architecture to induce more sophistication in the Programming Languages Structured Computer Organization Compiled code/ Assembly code Advanced Addressing modes Sophisticated Instruction set Programming Language level Support for Memory Management and Task Management Multiuser OS - Protection, Virtual Memory, Context Switching Assembly Language level Operating Systems level Understanding How I manage these demands makes my biography interesting Microprogramming level Computer Architecture Intel Digital Logic level

Memory Management Multi User Operating Systems Virtual Memory Ensured by Segmentation Multi User Operating Systems Ease of Programming Process Mobility in the Address Space Multiprocess Context switching Protection across Processes Intra process protection: Separation of Code, Data and Stack Inter process protection Virtual Memory 4GB address space for every process Ensured by Paging

Ease Of Programming Main Memory Code_Segment: mov EAX, [0] mov EBX, [4] cmp EAX,EBX jle 0x7 //Label_1 mov [8], EAX jmp 0x5 //Label_2 Label_1: mov [8], EBX Label_2: …. 0000 if (j>k) max = j else max = k Code and Data segments are separate and both assumed to start from 0 Operating System (Kernel) 0700 Other User Process Every Memory Data Access should add the value stored in Data Segment Register By default. 0900 Our Code Segment Segment Register (Data) 1900 Vacant Space Data Segment: 0: // Allocated for j 4: // Allocated for k 8: // Allocated for max 2100 2100 Address of j: 2100 Address of k: 2104 Address of max: 2108 Our Data Segment 2300 Vacant Space Ease Of Programming 2500

New User Process Process Mobility Main Memory Code_Segment: mov EAX, [0] mov EBX, [4] cmp EAX,EBX jle 0x7 //Label_1 mov [8], EAX jmp 0x5 //Label_2 Label_1: mov [8], EBX Label_2: …. 0000 if (j>k) max = j else max = k Operating System (Kernel) 0700 Other User Process A new process needs a segment of size 260 The space is available but not contiguous 0900 Our Code Segment Segment Register (Data) 1900 New User Process Vacant Space Data Segment: 0: // Allocated for j 4: // Allocated for k 8: // Allocated for max 2300 2100 2100 Address of j: 2100 Address of k: 2104 Address of max: 2108 Address of j: 2300 Address of k: 2304 Address of max: 2308 Our Data Segment Vacant Space 2160 Vacant Space 2300 Vacant Space Our Data Segment Process Mobility 2500

End of Session-7 Thank You