Module Overview. CLR Initialization
|
|
- Christian O’Neal’
- 5 years ago
- Views:
Transcription
1 CLR Initialization
2 Module Overview CLR Initialization Getting to Main Method PE Layout & CLR Headers Process Initialization & EE Shim EE Startup CLR Artifacts & Loader Heaps The Managed Object Common Slow Startups Review 2
3 Getting to Main Method OS Loader EE Shim CLR JIT Main method Process initialization phase OS loader finds and load the Execution Engine Shim EE Shim determines version, bitness, path etc. Loads CLR (Mscorwks.dll / clr.dll) CLR starts up Prepares to run managed code JIT gets loaded and compiles mscorlib.dll etc. Main method finally runs 3
4 Portable Executable Layout (EXE/DLL) PE Header CLR Header IL Metadata Header Metadata PE Header: Info about exe/dll type Machine type (x86/x64) CUI/GUI? Timestamp etc., CLR Header: Info used by CLR Version of CLR required MetaDataToken of entry Method Location and size of metadata, Resources etc., IL: Code compile time IL is a higher-level, CPU independent language Metadata Header: Contains version of the assembly Flags and headers that describe location, length of tables & heaps within metadata Metadata: Every managed module contains binary metadata tables 4
5 Physical Layout of a Managed Assembly PE Header CLR Header IL Metadata Header Metadata Whether it is an exe, dll, ocx etc. Not of much importance to.net CLR version (metadata header) Localization Size, resource, module s entry point e.g., main() Intermediate Language CPU independent language (similar to ByteCode) Code that the compiler produced when the Metadata Version of assembly source is header compiled. IL Contains is a higher-level, version of CPU the assembly independent language Contains other flags and headers which Info about describe classes location defined & and classes length referenced of Metadata tables Info about & module heaps and within resources the metadata etc. Every managed module contains binary metadata tables
6 PE Layout Raw Output dumpbin.exe /headers <EXE> FILE HEADER VALUES 14C machine (x86) 3 number of sections 4C26E437 time date stamp Sun Jun 27 01:40: file pointer to symbol table 0 number of symbols E0 size of optional header 102 characteristics Executable 32 bit word machine OPTIONAL HEADER VALUES 10B magic # (PE32) 8.00 linker version size of code 2000 size of initialized data 0 size of uninitialized data 254BE entry point (110254BE) 2000 base of code base of data 2A000 size of image 1000 size of headers 0 checksum 2 subsystem (Windows GUI) HEX disassembly of <EXE> 6
7 CLR Header Within PE Layout How to find Main method? Raw output from ildasm.exe CLR Header: Header size: 0x Major runtime version: 0x0002 Minor runtime version: 0x0005 0x00021de0 [0x ] address [size] of Metadata Directory: Flags: 0x Entry point token: 0x TypeDef #10 ( b) TypDefName: NetDebugDemos.Startup ( B) Flags : [Public] [AutoLayout] [Class] [AnsiClass] [BeforeFieldInit] ( ) Extends : [TypeRef] System.Object Method #2 ( ) [ENTRYPOINT] MethodName: Main ( ) Flags : [Private] [Static] [HideBySig] [ReuseSlot] ( ) RVA : 0x f ImplFlags : [IL] [Managed] ( ) CallCnvntn: [DEFAULT] ReturnType: Void No arguments. 7
8 Demo: Inspect PE Layout PE Headers CLR Headers
9 Process Initialization Loading EE Shim OS Loader finds process entry point Transfer control to Execution Engine (EE) shim loader (mscoree.dll) EE Shim determines version, bitness, path of CLR Uses default Concurrent GC unless config file or CorBindToRuntimeHost is used e.g. ASP.NET (Background GC/ CLRCreateInstance for 4.0) 0:000> kl Child-SP RetAddr Call Site clr.dll / `0012f fe`f KERNELBASE!LoadLibraryExW+0x19c `0012f8b fe`f9123cf8 mscoreei!runtimedesc::loadlibrary+0x82 mscorwks.dll `0012fa fe`f9123ca9 mscoreei!runtimedesc::loadmainruntimemodulehelper+0x4a `0012fa fe`f9123a85 mscoreei!runtimedesc::loadmainruntimemodule+0x4a `0012fae fe`f mscoreei!runtimedesc::ensureloaded+0xa `0012fb fe`f mscoreei!runtimedesc::getprocaddressinternal+0x `0012fba fe`f mscoreei!clrruntimeinfoimpl::getprocaddress+0x5c `0012fc fe`f91232f1 mscoreei!getcorexemainentrypoint+0x `0012fcf fe`f91b5b21 mscoreei!_corexemain+0x `0012fd `76aff56d MSCOREE!_CorExeMain_Exported+0x `0012fd `770d2cc1 KERNEL32!BaseThreadInitThunk+0xd `0012fd ` ntdll!rtluserthreadstart+0x1d 9
10 EE Startup Majority of CLR initialization done here Initializes ETW tracing, GC & Loader Heaps Creates System, Shared & Default domain(s) Loads mscorlib.dll & creates fundamental types e.g. System.Object 0:000> kl Child-SP RetAddr Call Site `0022fac fe`f89b629e clr!eestartup+0x `0022fb fe`f89cd62e clr!ensureeestarted+0xe `0022fb fe`f896ba45 clr!_corexemaininternal+0x7f `0022fbe fe`f clr!_corexemain+0x `0022fc fe`f91b5b21 mscoreei!_corexemain+0x `0022fc `76aff56d MSCOREE!_CorExeMain_Exported+0x `0022fc `770d2cc1 KERNEL32!BaseThreadInitThunk+0xd `0022fcb ` ntdll!rtluserthreadstart+0x1d 10
11 Demo: Break on EE Startup clr!eestartup
12 CLR Artifacts Internal data structures to track objects EEClass - Mold for every unique type - Describes a type s field & assembly from etc. MethodTable - EEClass + MethodTable = CLR s internal representation of objects MethodDesc - CLR s internal structure to track methods in a type - E.g. tracks state of a method if Jitted or not Note Class Type = design time = runtime 12
13 AppDomain What is it? Can be thought of as process within process Sandboxing code for isolation purposes Cost is cheaper than creating a new process Types of AppDomains - System Domain Responsible creating shared & default domain - Shared Domain Domain neutral code lives here - Default Domain Application code gets loaded & run here 13
14 The.NET Runtime in a Process (CLR) e.g. w3wp.exe System Domain AppDomain (!dumpdomain) Shared Domain AppDomain #1 AppDomain #2 14
15 CLR: Assembly & Module w3wp.exe System Domain Shared Domain AppDomain #1 AppDomain (!dumpdomain) Assembly (Foo1.dll) Assembly (Foo2.dll) Assembly/Module (!dumpassembly/!dumpmodule) AppDomain #2 Assembly (Foo3.dll) 15
16 CLR: EEClass w3wp.exe System Domain Shared Domain AppDomain (!dumpdomain) Assembly (Foo1.dll) Assembly/Module (!dumpassembly/!dumpmodule) EEClass (Class1) EEClass (!dumpclass) AppDomain #1 AppDomain #2 Assembly (Foo2.dll) Assembly (Foo3.dll) EEClass (Class2) EEClass (Class3) EEClass (Class4) 16
17 CLR: MethodTable w3wp.exe System Domain Shared Domain AppDomain #1 AppDomain #2 AppDomain (!dumpdomain) Assembly (Foo1.dll) Assembly (Foo2.dll) Assembly (Foo3.dll) Assembly/Module (!dumpassembly/!dumpmodule) EEClass (Class1) EEClass (Class2) EEClass (Class3) EEClass (Class4) EEClass (!dumpclass) MethodTable (!dumpmt) 17
18 CLR: MethodDesc w3wp.exe System Domain Shared Domain AppDomain #1 AppDomain #2 AppDomain (!dumpdomain) Assembly (Foo1.dll) Assembly (Foo2.dll) Assembly (Foo3.dll) Assembly/Module (!dumpassembly/!dumpmodule) EEClass (Class1) EEClass (Class2) EEClass (Class3) EEClass (Class4) EEClass (!dumpclass) MethodTable (!dumpmt) MethodDesc (FunctionOne) MethodDesc (FunctionTwo) MethodDesc (FunctionThree) 18
19 Multi-Domain Applications LoaderOptimizationAttribute or AppDomainSetup.LoaderOptimization SingleDomain No Assembly sharing between Domains Ngen ed Image gets used only for the first Domain Increased Memory Usage, increased Application Load Time, unexpected Jitting Default behavior safest way MultiDomain As much as possible will be loaded Domain Neutral. LoaderOptimizationAttribute on Main() No real control over loading possible anymore Better: AppDomainSetup usage MultiDomainHost Only Assemblies within the GAC will be shared Eg: ASP.NET
20 Loader Heaps Store CLR Artifacts What are CLR artifacts? - E.g. EEClass, MethodTable & MethodDesc Common Loader Heaps - HighFrequencyHeap MethodTable, MethodDesc & FieldDesc - LowFrequencyHeap EEClass 0:005>!eeheap -loader Loader Heap: System Domain: fef LowFrequencyHeap: ff (2000:1000) Size: 0x1000 (4096) bytes. HighFrequencyHeap: ff (8000:1000) Size: 0x1000 (4096) bytes. StubHeap: ff0001a000(2000:2000) Size: 0x2000 (8192) bytes. 20
21 Demo: Loader Heap & AppDomain Load SOS System, Shared & Default domain Loader Heap Sizes
22 The Managed Object Tying it all together! Chunk of memory with instance data Lives in GC Heap i.e. separate from all other CLR artifacts CLR identifies its type through EEClass, MethodTable etc. System.Object = basic building block for all other managed objects An object in memory needs to keep info such as: - Type - Instance contents (fields) - Other data structures bound to objects like hash codes & locks 22
23 Demo: Managed objects MethodTable - dd <objadd> L1!DumpObj String Array Object Properties
24 Slow Startup Common Scenarios Cold Startup - Slow disk I/O Warm Startup - Many dynamic assemblies e.g. ASP.NET & Serializers - Large cache initialization - Contentions during warm startup 24
25 Identify Slow Startups 1 st Run after boot? No Yes Re-run app to ensure not cold startup issue Yes Slow Startup? No Collect ETW traces on I/O performance Collect perf counters &/or profiler traces to further isolate issue 25
26 Performance Counters Which counters to look at?.net CLR Jit - # of IL Bytes Jitted - # of Methods Jitted - % Time in Jit.NET CLR Loading - Bytes in Loader Heap LogicalDisk - % Idle Time - Current Disk Queue Length 26
27 ETW Trace Disk I/O Performance 1. xperf -on PROC_THREAD+LOADER+CSWITCH+FILENAME+FILE_IO+FILE_IO _INIT+DRIVERS -f kernel.etl -stackwalk CSwitch+DiskReadInit+DiskWriteInit+DiskFlushInit+FileCreate+FileCle anup+fileclose+fileread+filewrite -BufferSize MaxBuffers MaxFile FileMode Circular 2. <Reproduce issue> 3. xperf -d ColdStartupIssue.etl 27
28 Review 1. Name the different parts within the layout of a managed assembly. 2. What are AppDomains, MethodTables, and MethodDescs? 3. Name the SOS command that obtains information from each of these. 28
29 Reference Microsoft PE and COFF Specification - An In-Depth Look into the Win32 Portable Executable File Format Part Drill Into.NET Framework Internals to See How the CLR Creates Runtime Objects - A Model for cold startup time of an application on Windows - NGen: Measuring Warm Startup Performance with Xperf
30 Reference (Cont.) Windows Performance Analysis Tools
31 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. 31
Assemblies. necessary and sufficient to make that file self describing. This unit is called Assembly.
Assemblies Any.NET application written by a developer may be a component that is designed to provide some service to other applications or itself a main application. In both cases when that.net application
More informationManaged Code with Licensing does not always mean Software Protection. R3JlSGFjayAyMDEyIC0gMXN0IFBhbmljaw0KVGhhbmtzIFBoaWwgZm9yIHRoZSB0ZW1wbGF0ZQ==
Managed Code with Licensing does not always mean Software Protection R3JlSGFjayAyMDEyIC0gMXN0IFBhbmljaw0KVGhhbmtzIFBoaWwgZm9yIHRoZSB0ZW1wbGF0ZQ== OVERVIEW OVERVIEW Console static void WriteLine() JITCompiler
More informationBuilding, Packaging, Deploying, and Administering Applications and Types
C02621632.fm Page 33 Thursday, January 12, 2006 3:50 PM Chapter 2 Building, Packaging, Deploying, and Administering Applications and Types In this chapter:.net Framework Deployment Goals......................................
More informationHigh-Level Language VMs
High-Level Language VMs Outline Motivation What is the need for HLL VMs? How are these different from System or Process VMs? Approach to HLL VMs Evolutionary history Pascal P-code Object oriented HLL VMs
More information.NET Memory. Dump Analysis. Version 2.0. Dmitry Vostokov Software Diagnostics Services
.NET Memory Dump Analysis Version 2.0 Dmitry Vostokov Software Diagnostics Services WinDbg Commands Prerequisites We use these boxes to introduce some WinDbg commands used in practice exercises Basic.NET
More informationPE File Browser. by Software Verify
PE File Browser by Software Verify Copyright Software Verify Limited (c) 2017 PE File Browser PE File contents inspector by Software Verification Welcome to the PE File Browser software tool. PE File Browser
More informationPERFVIEW..NET runtime performance and ETW event analysis tool
PERFVIEW.NET runtime performance and ETW event analysis tool OVERVIEW Formerly from Vance Morrison (.NET performance architect) Open-source Performance-analysis tool Can be used to investigate CPU and
More informationSegmentation with Paging. Review. Segmentation with Page (MULTICS) Segmentation with Page (MULTICS) Segmentation with Page (MULTICS)
Review Segmentation Segmentation Implementation Advantage of Segmentation Protection Sharing Segmentation with Paging Segmentation with Paging Segmentation with Paging Reason for the segmentation with
More informationDNWSH - Version: 2.3..NET Performance and Debugging Workshop
DNWSH - Version: 2.3.NET Performance and Debugging Workshop .NET Performance and Debugging Workshop DNWSH - Version: 2.3 8 days Course Description: The.NET Performance and Debugging Workshop is a practical
More informationUNIT-1 The Philosophy of.net
1 UNIT-1 The Philosophy of.net Understanding the Previous State of Affairs Life As a C/Win32 API Programmer: Developing software for the Windows family of operating systems involved using the C programming
More informationECE 498 Linux Assembly Language Lecture 1
ECE 498 Linux Assembly Language Lecture 1 Vince Weaver http://www.eece.maine.edu/ vweaver vincent.weaver@maine.edu 13 November 2012 Assembly Language: What s it good for? Understanding at a low-level what
More informationCSE P 501 Compilers. Java Implementation JVMs, JITs &c Hal Perkins Winter /11/ Hal Perkins & UW CSE V-1
CSE P 501 Compilers Java Implementation JVMs, JITs &c Hal Perkins Winter 2008 3/11/2008 2002-08 Hal Perkins & UW CSE V-1 Agenda Java virtual machine architecture.class files Class loading Execution engines
More informationNew programming language introduced by Microsoft contained in its.net technology Uses many of the best features of C++, Java, Visual Basic, and other
C#.NET? New programming language introduced by Microsoft contained in its.net technology Uses many of the best features of C++, Java, Visual Basic, and other OO languages. Small learning curve from either
More informationModule 2: Introduction to a Managed Execution Environment
Module 2: Introduction to a Managed Execution Environment Contents Overview 1 Writing a.net Application 2 Compiling and Running a.net Application 11 Lab 2: Building a Simple.NET Application 29 Review 32
More informationChapter 12 Microsoft Assemblies. Software Architecture Microsoft Assemblies 1
Chapter 12 Microsoft Assemblies 1 Process Phases Discussed in This Chapter Requirements Analysis Design Framework Architecture Detailed Design Key: x = main emphasis x = secondary emphasis Implementation
More informationWindows History 2009 Windows 7 2
Example: Windows 1 Windows History 2009 Windows 7 2 Features added Windows2000 additions Plug-and-play Network directory service New GUI Vista additions New GUI More focus on security clean-up the code
More informationOS lpr. www. nfsd gcc emacs ls 1/27/09. Process Management. CS 537 Lecture 3: Processes. Example OS in operation. Why Processes? Simplicity + Speed
Process Management CS 537 Lecture 3: Processes Michael Swift This lecture begins a series of topics on processes, threads, and synchronization Today: processes and process management what are the OS units
More informationPortable Executable format, TitaniumCore report and packers. Katja Pericin
Portable Executable format, TitaniumCore report and packers Katja Pericin Portable Executable format 3/21/2018 2 Introduction file? operating system abstraction for a data container segment(s) of physical
More informationECE 471 Embedded Systems Lecture 4
ECE 471 Embedded Systems Lecture 4 Vince Weaver http://www.eece.maine.edu/ vweaver vincent.weaver@maine.edu 12 September 2013 Announcements HW#1 will be posted later today For next class, at least skim
More informationLanguage Translation. Compilation vs. interpretation. Compilation diagram. Step 1: compile. Step 2: run. compiler. Compiled program. program.
Language Translation Compilation vs. interpretation Compilation diagram Step 1: compile program compiler Compiled program Step 2: run input Compiled program output Language Translation compilation is translation
More informationwww nfsd emacs lpr Process Management CS 537 Lecture 4: Processes Example OS in operation Why Processes? Simplicity + Speed
Process Management CS 537 Lecture 4: Processes Michael Swift This lecture begins a series of topics on processes, threads, and synchronization Today: processes and process management what are the OS units
More informationEDAN65: Compilers, Lecture 13 Run;me systems for object- oriented languages. Görel Hedin Revised:
EDAN65: Compilers, Lecture 13 Run;me systems for object- oriented languages Görel Hedin Revised: 2014-10- 13 This lecture Regular expressions Context- free grammar ATribute grammar Lexical analyzer (scanner)
More informationCOPYRIGHTED MATERIAL. Part I The C# Ecosystem. ChapTEr 1: The C# Environment. ChapTEr 2: Writing a First Program
Part I The C# Ecosystem ChapTEr 1: The C# Environment ChapTEr 2: Writing a First Program ChapTEr 3: Program and Code File Structure COPYRIGHTED MATERIAL 1The C# Environment What s in This ChapTEr IL and
More informationLast class: OS and Architecture. OS and Computer Architecture
Last class: OS and Architecture OS and Computer Architecture OS Service Protection Interrupts System Calls IO Scheduling Synchronization Virtual Memory Hardware Support Kernel/User Mode Protected Instructions
More informationLast class: OS and Architecture. Chapter 3: Operating-System Structures. OS and Computer Architecture. Common System Components
Last class: OS and Architecture Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines System Design and Implementation
More informationAgenda. CSE P 501 Compilers. Java Implementation Overview. JVM Architecture. JVM Runtime Data Areas (1) JVM Data Types. CSE P 501 Su04 T-1
Agenda CSE P 501 Compilers Java Implementation JVMs, JITs &c Hal Perkins Summer 2004 Java virtual machine architecture.class files Class loading Execution engines Interpreters & JITs various strategies
More informationBypassing Browser Memory Protections
Bypassing Browser Memory Protections Network Security Instructor: Dr. Shishir Nagaraja September 10, 2011. 1 Introduction to the topic A number of memory protection mechanisms like GS, SafeSEH, DEP and
More informationPE Infection How to Inject a dll
PE Infection How to Inject a dll In association with www.mihanit.net Thank you to my friends who help me in this research (K053,Heli, L U C I F E R(Bl4ck_Ic3)) Author: Nightmare(BioHazard) Date: 03.05.2009(88.02.13)
More informationIBM Tivoli Composite Application Manager for Microsoft Applications: Microsoft.NET Framework Agent Fix Pack 13.
IBM Tivoli Composite Application Manager for Microsoft Applications: Microsoft.NET Framework Agent 6.3.1 Fix Pack 13 Reference IBM IBM Tivoli Composite Application Manager for Microsoft Applications:
More informationECE 598 Advanced Operating Systems Lecture 10
ECE 598 Advanced Operating Systems Lecture 10 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 22 February 2018 Announcements Homework #5 will be posted 1 Blocking vs Nonblocking
More informationCompiler, Assembler, and Linker
Compiler, Assembler, and Linker Minsoo Ryu Department of Computer Science and Engineering Hanyang University msryu@hanyang.ac.kr What is a Compilation? Preprocessor Compiler Assembler Linker Loader Contents
More informationThis web service can be available to any user on the internet regardless of who developed it.
The.NET strategy Microsoft wanted to make the WWW more vibrant by enabling individual devices, computers, and web services to work altogether intelligently to provide rich solutions to the user. With the
More informationCIS-331 Final Exam Spring 2018 Total of 120 Points. Version 1
Version 1 Instructions 1. Write your name and version number on the top of the yellow paper and the routing tables sheet. 2. Answer Question 2 on the routing tables sheet. 3. Answer Questions 1, 3, 4,
More informationWeb Platform Introduction With a focus on free. Mike Taulty Developer & Platform Group Microsoft Ltd
Web Platform Introduction With a focus on free Mike Taulty Developer & Platform Group Microsoft Ltd Mike.Taulty@microsoft.com http://www.mtaulty.com The humble web request Internet Information Services
More informationChapter 3: Operating-System Structures
Chapter 3: Operating-System Structures System Components Operating System Services System Calls POSIX System Programs System Structure Virtual Machines System Design and Implementation System Generation
More informationChapter 3: Operating-System Structures
Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines System Design and Implementation System Generation 3.1
More informationOS lpr. www. nfsd gcc emacs ls 9/18/11. Process Management. CS 537 Lecture 4: Processes. The Process. Why Processes? Simplicity + Speed
Process Management CS 537 Lecture 4: Processes Today: processes and process management what are the OS units of execution? how are they represented inside the OS? how is the CPU scheduled across processes?
More informationVb6 The Instruction At Referenced Memory At The Memory Could Not Be Written
Vb6 The Instruction At Referenced Memory At The Memory Could Not Be Written The instruction at 0x6c371351 referenced memory at 0x00000004 could not be read? Memory could not be written I was having this
More informationC# Programming in the.net Framework
50150B - Version: 2.1 04 May 2018 C# Programming in the.net Framework C# Programming in the.net Framework 50150B - Version: 2.1 6 days Course Description: This six-day instructor-led course provides students
More informationProgramming in C# Jump Start. Jerry Nixon Microsoft Developer Evangelist Daren May President & Co-founder, Crank211
Programming in C# Jump Start Jerry Nixon Microsoft Developer Evangelist Daren May President & Co-founder, Crank211 06 Advanced C#, Part 2 Jerry Nixon Microsoft Developer Evangelist Daren May President
More informationC#: framework overview and in-the-small features
Chair of Software Engineering Carlo A. Furia, Marco Piccioni, Bertrand Meyer C#: framework overview and in-the-small features Chair of Software Engineering Carlo A. Furia, Marco Piccioni, Bertrand Meyer
More informationWindows 7 Overview. Windows 7. Objectives. The History of Windows. CS140M Fall Lake 1
Windows 7 Overview Windows 7 Overview By Al Lake History Design Principles System Components Environmental Subsystems File system Networking Programmer Interface Lake 2 Objectives To explore the principles
More informationNotes of the course - Advanced Programming. Barbara Russo
Notes of the course - Advanced Programming Barbara Russo a.y. 2014-2015 Contents 1 Lecture 2 Lecture 2 - Compilation, Interpreting, and debugging........ 2 1.1 Compiling and interpreting...................
More informationChapter 4: Threads. Operating System Concepts 8 th Edition,
Chapter 4: Threads, Silberschatz, Galvin and Gagne 2009 Chapter 4: Threads Overview Multithreading Models Thread Libraries 4.2 Silberschatz, Galvin and Gagne 2009 Objectives To introduce the notion of
More informationCSE 4/521 Introduction to Operating Systems. Lecture 29 Windows 7 (History, Design Principles, System Components, Programmer Interface) Summer 2018
CSE 4/521 Introduction to Operating Systems Lecture 29 Windows 7 (History, Design Principles, System Components, Programmer Interface) Summer 2018 Overview Objective: To explore the principles upon which
More informationMemory management has always involved tradeoffs between numerous optimization possibilities: Schemes to manage problem fall into roughly two camps
Garbage Collection Garbage collection makes memory management easier for programmers by automatically reclaiming unused memory. The garbage collector in the CLR makes tradeoffs to assure reasonable performance
More informationART JIT in Android N. Xueliang ZHONG Linaro ART Team
ART JIT in Android N Xueliang ZHONG Linaro ART Team linaro-art@linaro.org 1 Outline Android Runtime (ART) and the new challenges ART Implementation in Android N Tooling Performance Data & Findings Q &
More informationC# 6.0 in a nutshell / Joseph Albahari & Ben Albahari. 6th ed. Beijin [etc.], cop Spis treści
C# 6.0 in a nutshell / Joseph Albahari & Ben Albahari. 6th ed. Beijin [etc.], cop. 2016 Spis treści Preface xi 1. Introducing C# and the.net Framework 1 Object Orientation 1 Type Safety 2 Memory Management
More informationCS3600 SYSTEMS AND NETWORKS
CS3600 SYSTEMS AND NETWORKS NORTHEASTERN UNIVERSITY Lecture 11: File System Implementation Prof. Alan Mislove (amislove@ccs.neu.edu) File-System Structure File structure Logical storage unit Collection
More informationLink 2. Object Files
Link 2. Object Files Young W. Lim 2017-09-20 Wed Young W. Lim Link 2. Object Files 2017-09-20 Wed 1 / 33 Outline 1 Linking - 2. Object Files Based on Oject Files ELF Sections Example Program Source Codes
More informationAC59/AT59/AC110/AT110 OPERATING SYSTEMS & SYSTEMS SOFTWARE DEC 2015
Q.2 a. Explain the following systems: (9) i. Batch processing systems ii. Time sharing systems iii. Real-time operating systems b. Draw the process state diagram. (3) c. What resources are used when a
More informationID: Cookbook: urldownload.jbs Time: 23:23:00 Date: 11/01/2018 Version:
ID: 42417 Cookbook: urldownload.jbs Time: 23:23:00 Date: 11/01/201 Version: 20.0.0 Table of Contents Table of Contents Analysis Report Overview General Information Detection Confidence Classification Signature
More informationCIS-331 Exam 2 Fall 2015 Total of 105 Points Version 1
Version 1 1. (20 Points) Given the class A network address 117.0.0.0 will be divided into multiple subnets. a. (5 Points) How many bits will be necessary to address 4,000 subnets? b. (5 Points) What is
More informationM4.1-R4: APPLICATION OF.NET TECHNOLOGY
M4.1-R4: APPLICATION OF.NET TECHNOLOGY NOTE: 1. There are TWO PARTS in this Module/Paper. PART ONE contains FOUR questions and PART TWO contains FIVE questions. 2. PART ONE is to be answered in the OMR
More informationProtection and System Calls. Otto J. Anshus
Protection and System Calls Otto J. Anshus Protection Issues CPU protection Prevent a user from using the CPU for too long Throughput of jobs, and response time to events (incl. user interactive response
More informationCIS-331 Exam 2 Spring 2016 Total of 110 Points Version 1
Version 1 1. (20 Points) Given the class A network address 121.0.0.0 will be divided into multiple subnets. a. (5 Points) How many bits will be necessary to address 8,100 subnets? b. (5 Points) What is
More informationAuthoring Installations for Microsoft s.net Framework
Authoring Installations for Microsoft s.net Framework using Wise for Windows Installer Vanessa Wasko Wise Solutions, Inc. Abstract This paper provides an overview of creating an installation for an application
More informationID: Sample Name: process.0xfffffa8004b x dmp Cookbook: default.jbs Time: 22:45:59 Date: 02/12/2017 Version: 20.0.
ID: 38941 Sample Name: process.0xfffffa8004b120.0x480000.dmp Cookbook: default.jbs Time: 22:4:9 Date: 02/12/201 Version: 20.0.0 Table of Contents Table of Contents Analysis Report Overview General Information
More informationChapter 3: Operating-System Structures
1 Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines System Design and Implementation System Generation 3.1
More informationGenerating Programs and Linking. Professor Rick Han Department of Computer Science University of Colorado at Boulder
Generating Programs and Linking Professor Rick Han Department of Computer Science University of Colorado at Boulder CSCI 3753 Announcements Moodle - posted last Thursday s lecture Programming shell assignment
More informationCIS-331 Exam 2 Fall 2014 Total of 105 Points. Version 1
Version 1 1. (20 Points) Given the class A network address 119.0.0.0 will be divided into a maximum of 15,900 subnets. a. (5 Points) How many bits will be necessary to address the 15,900 subnets? b. (5
More informationC03c: Linkers and Loaders
CISC 3320 MW3 C03c: Linkers and Loaders Hui Chen Department of Computer & Information Science CUNY Brooklyn College 2/4/2019 CUNY Brooklyn College: CISC 3320 OS 1 Outline Linkers and linking Loaders and
More informationChapter 1:- Introduction to.net. Compiled By:- Ankit Shah Assistant Professor, SVBIT.
Chapter 1:- Introduction to.net Compiled By:- Assistant Professor, SVBIT. What is.net? 2 Microsoft s vision of the future of applications in the Internet age Increased robustness over classic Windows apps
More informationCIS-331 Spring 2016 Exam 1 Name: Total of 109 Points Version 1
Version 1 Instructions Write your name on the exam paper. Write your name and version number on the top of the yellow paper. Answer Question 1 on the exam paper. Answer Questions 2-4 on the yellow paper.
More informationOS and Computer Architecture. Chapter 3: Operating-System Structures. Common System Components. Process Management
Last class: OS and Architecture OS and Computer Architecture OS Service Protection Interrupts System Calls IO Scheduling Synchronization Virtual Memory Hardware Support Kernel/User Mode Protected Instructions
More informationLecture 4 Processes. Dynamic Analysis. GDB
Lecture 4 Processes. Dynamic Analysis. GDB Computer and Network Security 23th of October 2017 Computer Science and Engineering Department CSE Dep, ACS, UPB Lecture 4, Processes. Dynamic Analysis. GDB 1/45
More informationAn Introduction to.net for the J2EE Programmer
An Introduction to.net for the J2EE Programmer Jeroen Frijters Sumatra Software b.v. jeroen@sumatra.nl http://weblog.ikvm.net/ Page Overview.NET Framework overview and terminology A Quick Look at C# A
More informationMODULE 1 JAVA PLATFORMS. Identifying Java Technology Product Groups
MODULE 1 JAVA PLATFORMS Identifying Java Technology Product Groups Java SE Platform Versions Year Developer Version (JDK) Platform 1996 1.0 1 1997 1.1 1 1998 1.2 2 2000 1.3 2 2002 1.4 2 2004 1.5 5 2006
More information.NET CLR Framework. Unmanaged Hosts - Assembly Access
Unmanaged Hosts - Assembly Access ptrex 8/08/2017 WHAT : is.net Common Language Runtime (CLR) Framework The Common Language Runtime (CLR) is a an Execution Environment. Common Language Runtime (CLR)'s
More informationHow to create a process? What does process look like?
How to create a process? On Unix systems, executable read by loader Compile time runtime Ken Birman ld loader Cache Compiler: generates one object file per source file Linker: combines all object files
More informationCS 550 Operating Systems Spring Process I
CS 550 Operating Systems Spring 2018 Process I 1 Process Informal definition: A process is a program in execution. Process is not the same as a program. Program is a passive entity stored in the disk Process
More informationExpert C++/CLI:.NET for Visual C++ Programmers
Expert C++/CLI:.NET for Visual C++ Programmers Marcus Heege Contents About the Author About the Technical Reviewer Acknowledgments xiii xv xvii CHAPTER 1 Why C++/CLI? 1 Extending C++ with.net Features
More informationV. File System. SGG9: chapter 11. Files, directories, sharing FS layers, partitions, allocations, free space. TDIU11: Operating Systems
V. File System SGG9: chapter 11 Files, directories, sharing FS layers, partitions, allocations, free space TDIU11: Operating Systems Ahmed Rezine, Linköping University Copyright Notice: The lecture notes
More informationThe benefits and costs of writing a POSIX kernel in a high-level language
1 / 38 The benefits and costs of writing a POSIX kernel in a high-level language Cody Cutler, M. Frans Kaashoek, Robert T. Morris MIT CSAIL Should we use high-level languages to build OS kernels? 2 / 38
More informationUser Manual. Admin Report Kit for IIS 7 (ARKIIS)
User Manual Admin Report Kit for IIS 7 (ARKIIS) Table of Contents 1 Admin Report Kit for IIS 7... 1 1.1 About ARKIIS... 1 1.2 Who can Use ARKIIS?... 1 1.3 System requirements... 2 1.4 Technical Support...
More informationID: Sample Name: meterpreter64bit.exe Cookbook: default.jbs Time: 16:01:45 Date: 24/11/2017 Version:
ID: 0 Sample Name: meterpreter4bit.exe Cookbook: default.jbs Time: 1:01:4 Date: 24/11/201 Version: 20.0.0 Table of Contents Table of Contents Analysis Report Overview General Information Detection Confidence
More informationJAVA PERFORMANCE. PR SW2 S18 Dr. Prähofer DI Leopoldseder
JAVA PERFORMANCE PR SW2 S18 Dr. Prähofer DI Leopoldseder OUTLINE 1. What is performance? 1. Benchmarking 2. What is Java performance? 1. Interpreter vs JIT 3. Tools to measure performance 4. Memory Performance
More informationWhat is a VM? Categories of Virtual Machines. Process Virtual Machine 11/17/2010
What is a VM? Virtual Machines COMP755 An efficient, isolated duplicate of a real machine Current use includes virtual machines which have no direct correspondence to any real hardware Categories of Virtual
More informationCHAPTER ASSEMBLY LANGUAGE PROGRAMMING
CHAPTER 2 8051 ASSEMBLY LANGUAGE PROGRAMMING Registers Register are used to store information temporarily: A byte of data to be processed An address pointing to the data to be fetched The vast majority
More informationCSCI341. Lecture 22, MIPS Programming: Directives, Linkers, Loaders, Memory
CSCI341 Lecture 22, MIPS Programming: Directives, Linkers, Loaders, Memory REVIEW Assemblers understand special commands called directives Assemblers understand macro commands Assembly programs become
More informationTCG Storage Application Note: Encrypting Drives Compliant with Opal SSC
TCG Storage Application Note: Encrypting Drives Compliant with Opal SSC Specification Version 1.00 Final Revision 1.00 19 February, 2010 Contact: admin@trustedcomputinggroup.org TCG Copyright TCG 2010
More informationPreview. COSC350 System Software, Fall
Preview File System File Name, File Structure, File Types, File Access, File Attributes, File Operation Directories Directory Operations File System Layout Implementing File Contiguous Allocation Linked
More informationOPERATING SYSTEM. Chapter 12: File System Implementation
OPERATING SYSTEM Chapter 12: File System Implementation Chapter 12: File System Implementation File-System Structure File-System Implementation Directory Implementation Allocation Methods Free-Space Management
More information22 File Structure, Disk Scheduling
Operating Systems 102 22 File Structure, Disk Scheduling Readings for this topic: Silberschatz et al., Chapters 11-13; Anderson/Dahlin, Chapter 13. File: a named sequence of bytes stored on disk. From
More informationECE 550D Fundamentals of Computer Systems and Engineering. Fall 2017
ECE 550D Fundamentals of Computer Systems and Engineering Fall 2017 The Operating System (OS) Prof. John Board Duke University Slides are derived from work by Profs. Tyler Bletsch and Andrew Hilton (Duke)
More informationCIT 595 Spring System Software: Programming Tools. Assembly Process Example: First Pass. Assembly Process Example: Second Pass.
System Software: Programming Tools Programming tools carry out the mechanics of software creation within the confines of the operating system and hardware environment Linkers & Loaders CIT 595 Spring 2010
More informationCreating a Service Platform for.net. Clement Escoffier PhD Student University of Grenoble
Creating a Service Platform for.net Clement Escoffier PhD Student University of Grenoble LSR-IMAG : Logiciels, Systèmes & Réseaux LSR : Software, Systems & Networks IMAG federation Member of the ObjectWeb
More informationID: Sample Name: 11youtube3.com Cookbook: default.jbs Time: 08:17:42 Date: 12/04/2018 Version:
ID: 54295 Sample Name: 11youtube3.com Cookbook: default.jbs Time: 08:1:42 Date: 12/04/2018 Version: 22.0.0 Table of Contents Table of Contents Analysis Report Overview General Information Detection Confidence
More informationChapter 11: Implementing File Systems
Chapter 11: Implementing File Systems Operating System Concepts 99h Edition DM510-14 Chapter 11: Implementing File Systems File-System Structure File-System Implementation Directory Implementation Allocation
More informationA new Mono GC. Paolo Molaro October 25, 2006
A new Mono GC Paolo Molaro lupus@novell.com October 25, 2006 Current GC: why Boehm Ported to the major architectures and systems Featurefull Very easy to integrate Handles managed pointers in unmanaged
More informationCIS-331 Fall 2014 Exam 1 Name: Total of 109 Points Version 1
Version 1 1. (24 Points) Show the routing tables for routers A, B, C, and D. Make sure you account for traffic to the Internet. Router A Router B Router C Router D Network Next Hop Next Hop Next Hop Next
More informationIntroduction to Java Programming
Introduction to Java Programming Lecture 1 CGS 3416 Spring 2017 1/9/2017 Main Components of a computer CPU - Central Processing Unit: The brain of the computer ISA - Instruction Set Architecture: the specific
More informationPractical Malware Analysis
Practical Malware Analysis Ch 4: A Crash Course in x86 Disassembly Revised 1-16-7 Basic Techniques Basic static analysis Looks at malware from the outside Basic dynamic analysis Only shows you how the
More informationOperating Systems Design Exam 2 Review: Spring 2011
Operating Systems Design Exam 2 Review: Spring 2011 Paul Krzyzanowski pxk@cs.rutgers.edu 1 Question 1 CPU utilization tends to be lower when: a. There are more processes in memory. b. There are fewer processes
More information02 Features of C#, Part 1. Jerry Nixon Microsoft Developer Evangelist Daren May President & Co-founder, Crank211
02 Features of C#, Part 1 Jerry Nixon Microsoft Developer Evangelist Daren May President & Co-founder, Crank211 Module Overview Constructing Complex Types Object Interfaces and Inheritance Generics Constructing
More informationPES INSTITUTE OF TECHNOLOGY
Seventh Semester B.E. IA Test-I, 2014 USN 1 P E I S PES INSTITUTE OF TECHNOLOGY C# solution set for T1 Answer any 5 of the Following Questions 1) What is.net? With a neat diagram explain the important
More informationLearning objectives. The Java Environment. Java timeline (cont d) Java timeline. Understand the basic features of Java
Learning objectives The Java Environment Understand the basic features of Java What are portability and robustness? Understand the concepts of bytecode and interpreter What is the JVM? Learn few coding
More informationCS 416: Opera-ng Systems Design March 23, 2012
Question 1 Operating Systems Design Exam 2 Review: Spring 2011 Paul Krzyzanowski pxk@cs.rutgers.edu CPU utilization tends to be lower when: a. There are more processes in memory. b. There are fewer processes
More informationMotivation. Threads. Multithreaded Server Architecture. Thread of execution. Chapter 4
Motivation Threads Chapter 4 Most modern applications are multithreaded Threads run within application Multiple tasks with the application can be implemented by separate Update display Fetch data Spell
More information238P: Operating Systems. Lecture 7: Basic Architecture of a Program. Anton Burtsev January, 2018
238P: Operating Systems Lecture 7: Basic Architecture of a Program Anton Burtsev January, 2018 What is a program? What parts do we need to run code? Parts needed to run a program Code itself By convention
More information