Fidelity National Information Services. Inc.

Slides:



Advertisements
Similar presentations
Chapter 12: File System Implementation
Advertisements

Operating Systems Lecture 10 Issues in Paging and Virtual Memory Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard. Zhiqing.
CSCE 145: Algorithmic Design I Chapter 1 Intro to Computers and Java Muhammad Nazmus Sakib.
Chapter 11: File System Implementation
Syntax Trees MathWorks Compiler Course – Day 5. Syntax Trees MathWorks Compiler Course – Day 5 Parser lexemes shift/reduce seq. Cfg tables Tree Symbols.
File System Implementation
Memory Management (II)
Run-Time Storage Organization
Home: Phones OFF Please Unix Kernel Parminder Singh Kang Home:
File System Implementation
Stack Management Each process/thread has two stacks  Kernel stack  User stack Stack pointer changes when exiting/entering the kernel Q: Why is this necessary?
1 Module Objective & Outline Module Objective: After completing this Module, you will be able to, appreciate java as a programming language, write java.
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
Linux interoperability Question: How can I handle interoperability between Linux and UNIX in my IT environment? HP’s Approach With HP’s Linux Compatibility.
Processes Introduction to Operating Systems: Module 3.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 12: File System Implementation File System Structure File System Implementation.
File System Implementation
Linux Overview COMS W4118 Spring Slides based on Phil Hutto, Silberschatz 2 History Linux is a modern, free operating system based on UNIX standards.
Overview of Operating Systems Introduction to Operating Systems: Module 0.
Introduction Why are virtual machines interesting?
OPERATING SYSTEM BY KINSHUK RASTOGI. WHAT IS AN OPERATING SYSTEM? What is an operating system in the first place? An operating system is a software that.
Int main( ) { x = a(); } int a() { y = b(); } int b() { z = c(); } int c() { } 1.
CEG 2400 FALL 2012 Linux/UNIX Network Operating Systems.
Enterprise Wide Information Systems SAP R/3 Overview & Basis Technology Instructor: Richard W. Vawter.
Introduction to Operating Systems Concepts
Computer System Structures
Overview – SOE Cfengine v3.4.0
Chapter 4: Threads Modified by Dr. Neerja Mhaskar for CS 3SH3.
Introduction to threads
Overview – SOE Openssh Sep 2014.
Chapter 12: File System Implementation
Chapter 2: Operating-System Structures
Chapter 4: Threads.
Chapter 11: File System Implementation
Overview – SOE Cfengine v3.6.5
Lecture 1: Introduction to JAVA
Overview – SOE Openssh v7.1p1
Chapter 8: Memory Management
SOFTWARE DESIGN AND ARCHITECTURE
CASE STUDY 1: Linux and Android
Chapter 8: Main Memory.
Chapter 8: Memory Management
File System Implementation
Overview – SOE Lsof v4.87 Dec 2013.
课程名 编译原理 Compiling Techniques
CS490 Windows Internals Quiz 2 09/27/2013.
2.1. Compilers and Interpreters
Chapter 4: Threads.
Operating System Concepts
Paging and Segmentation
Chapter 2: Operating-System Structures
Chapter 12: File System Implementation
Storage Management Chapter 9: Memory Management
Operating System Concepts
PANA Implementation in Open Diameter
Chapter 4: Threads.
Background Program must be brought into memory and placed within a process for it to be run. Input queue – collection of processes on the disk that are.
Assembly Language for Intel-Based Computers
Lecture 3: Main Memory.
CHAPTER 4:THreads Bashair Al-harthi OPERATING SYSTEM
Operating Systems Lecture 1.
Chapter 8: Memory Management strategies
Chapter 4: Threads & Concurrency
Lecture 7: Flexible Address Translation
Introduction to Virtual Machines
Outline Operating System Organization Operating System Examples
Section 1: Linux Basics and SLES9 Installation
Introduction to Virtual Machines
Lecture 4: Instruction Set Design/Pipelining
CSE 542: Operating Systems
Presentation transcript:

Fidelity National Information Services. Inc. GT.M Internals K.S. Bhaskar Fidelity National Information Services. Inc. ks.bhaskar@fnis.com (610) 578-4265

GT.M (http://fis-gtm.com) Implements M[UMPS] – ISO/IEC 11756:1999 Language tightly bound to a database Primarily used on banking & finance Including at largest real time core processing system that is live anywhere in the world Increasingly used in health care too Multi-license GPL – x86 GNU/Linux and Alpha/AXP OpenVMS & Tru64 UNIX [Windows (Cygwin) soon] Traditional – IBM pSeries AIX, SUN SPARC Solaris, HP PA-RISC HP-UX [Itanium HP-UX & GNU/Linux soon]

Database access No database daemon Each open database file has a shared memory segment associated with it Cooperatively managed by run-time logic in each process' address space OS semaphores used for set-up / tear-down of shared memory segments Shared memory semaphores used for critical sections

Typeless indexes & values Local variables Hashed variable names Modified linear search for subscripts within a variable – optimized for small numbers of subscripts Global variables B* tree variable names B* tree each variable

Locks Like traffic lights, not locks on doors Locks a resource in shared memory Tree structure

Network services STDIN / STDOUT can be inherited from inetd / xinetd

Recoverability Journaling NOBEFORE_IMAGE journaling / forward recovery BEFORE_IMAGE journaling / backward recovery

Business continuity – dual site New York) Los Angeles)

Business continuity – multi-site 16 secondaries to root primary each secondary can feed 16 tertiaries and so on... Any node in the tree can potentially become the new primary Rolling upgrades

Language implementation Mostly written in C – a small amount of assembler Compiler generates xxx.o object file from xxx.m source file Compile on demand if source newer than object Stack oriented threaded code – push parameters / call runtime routine / pop results Two phase compiler Parse phase produces abstract syntax tree Generate code phase produces native machine code Dynamic stack frames & code cache for indirection and Xecute

Code Layered APIs Portability Routines can reside in portable directory, OS flavor directory (UNIX, OpenVMS), hardware architecture specific directory (x86, Alpha/AXP, POWER, SPARC, Itanium) or OS specific directory (GNU/Linux, Solaris, AIX, HP-UX) On some platforms, OS specific directory takes precedence over hardware architecture specific directory, sometimes the other way around

¿¿Questions?? ¡¡Comments!! K.S. Bhaskar ks.bhaskar@fnis.com (610) 578-4265