
Architectural Aid for Secure Systems Engineering - Structured Computer Organization
Explore the importance of architectural aid in securing systems engineering through structured computer organization. Learn about computer architecture, compilers, memory management, and more at a fundamental level.
Download Presentation

Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.
E N D
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
Compilers ask for features from the Architecture to induce more sophistication in the Programming Languages Structured Computer Organization Programming Language level Compiled code/ Assembly code Advanced Addressing modes Sophisticated Instruction set Assembly Language level Support for Memory Management and Task Management Multiuser OS - Protection, Virtual Memory, Context Switching Operating Systems level Understanding How I manage these demands makes my biography interesting Microprogramming level Computer Intel Architecture Digital Logic level
Memory Management 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
Main Memory 0000 Code_Segment: if (j>k) Code and Data segments are separate and both assumed to start from 0 mov EAX, [0] Operating System (Kernel) max = j mov EBX, [4] else cmp EAX,EBX 0700 max = k jle 0x7 //Label_1 Other User Process mov [8], EAX Every Memory Data Access should add the value stored in Data Segment Register By default. 0900 jmp 0x5 //Label_2 Our Code Segment Label_1: mov [8], EBX Label_2: . Segment Register (Data) 1900 Vacant Space Data Segment: 2100 0: // Allocated for j 2100 Address of j: 2100 Address of k: 2104 Address of max: 2108 Our Data Segment 4: // Allocated for k 8: // Allocated for max 2300 Vacant Space 2500 Ease Of Programming
Main Memory 0000 Code_Segment: if (j>k) mov EAX, [0] Operating System (Kernel) max = j mov EBX, [4] else cmp EAX,EBX 0700 max = k jle 0x7 //Label_1 Other User Process mov [8], EAX A new process needs a segment of size 260 The space is available but not contiguous 0900 jmp 0x5 //Label_2 Our Code Segment Label_1: mov [8], EBX Label_2: . Segment Register (Data) 1900 Vacant Space New User Process Data Segment: 2100 2300 0: // Allocated for j 2100 Address of j: 2100 Address of k: 2104 Address of max: 2108 Address of max: 2308 Address of j: 2300 Address of k: 2304 Our Data Segment Space Vacant Space Vacant 4: // Allocated for k 2160 8: // Allocated for max 2300 Our Data Vacant Space Segment 2500 Process Mobility
End of Session-7 Thank You