System Programming
Total Page:16
File Type:pdf, Size:1020Kb
System Programming Abdul-Rahman Mahmood http://alphapeeler.sourceforge.net http://pk.linkedin.com/in/armahmood abdulmahmood-sss twitter.com/alphapeeler alphapeeler.sourceforge.net/pubkeys/pkey.htm VC++, VB, ASP 1 About the instructor:Roles/Skills ROLES # Y ORGANIZATIONS Chief Technology Officer 4.2 Riysoft PVT LTD Consultant / Head Crypto Div– MOD 3.0 Ministry of Defense , RikSof, SecureBytes, RT Japan, Pyntail, SSS Proj Manager, Team Lead, OG-I 1.5 National Bank – Head Office (IT Group) Proj Coord / Analyst / Tech Lead 2.5 Plexus (Global Partner - WSI International, Canada.) QMR / Proj / Process / HR Manager 1.5 Softech Worldwide L.L.C. (A US based software house ) IT Manager (Computer Engineer) 1.5 Peritech Intl.– Nagoya, Japan Sr. Software Engineer 3.5 Infinilogic Pvt. Ltd. (A UK based software house) TECHNICAL SKILLS DETAILS Languages & Tools C++, C#, ObjectiveC, PHP,ASP,VC,VB,COM,MTS,ATL,HTML,JScript,Qt Mobile App Development Tools X-Code 3.2/4.0, Titanium. ADT, MS Silverlight 4, Expression Blend Project Management Dot project, MS Project, Mind manager 6 pro, net office. Software Architecture Rational rose, Design for databases, Erwin modeler, MS Visio 2003 Quality Assurance Testog, PVCS tracker, Requisite pro, Mantus BT Configuration & Content Mgmt. Subversion, CVS, VSS, Git, SharePoint, Mambo Server, Wordpress, Durpal Databases / RDBMS Mysql, Postgres, Oracle, MSSQL, MS Access, SQLite Server Administration Win server, SUSE Linux, Apache / IIS, postfix, openxpki, samba, privoxy Reporting Tools Crystal Reports 8.5, Microsoft SQL server reporting Services. CERTIFICATIONS / WORKSHOPS CERTIFICATIONS YEAR INSTITUTION DETAILS QMR certification 2005 Softech worldwide L.L.C (USA) Quality Management Rep. Quality Auditing 2005 Pakistan Institute of Quality Control ISO 9001:200 Brainbench Certifications 2001 Brainbench Corporation, 14425 Penrose Place, Suite VC Transcript ID: 2574319 MS Visual C++, ASP, MS Visual 150, Chantilly, VA 20151, U.S.A. VB Transcript ID: 2574319 Basic ASP Transcript ID: 2574319 Microsoft Certified System 1999 Microsoft Certified System Engineer, training at SSUET Network Admin, IIS , Tech. Engineer Support, Internetworking, Microsoft Certified 1998 Microsoft Corporation, Redmond, WA 98052-6399, MS Win Server Professional U.S.A. MCP ID: 1270382 AutoCAD certification 1993 Computer Guide Institute Release 10 WORKSHOPS YEAR INSTITUTION DETAILS Performance & Load Testing 2009 NUST – SEECS, Islamabad School of Electrical Engineering & Computer Science, NUST,17-1-2009 Network Security 2008 Networkers Society of Pak Sheraton Hotel, Karachi, 7-10-2008. Microsoft PDC 2007 Microsoft – Pakistan SQL server 2008 AWARD / RECOGNITION / TRAININGS AWARD/RECOGNITION YEAR INSTITUTION DETAILS URL Revised Embedded OS in 2011 Prentice Hall – USA Acknowledged by Dr. William Stallings in book Operating Systems book by ISBN-10: 013230998X preface (7th Edition). Dr. William ISBN-13: 9780132309981 (Embedded OS : TinyOS & ECOS) AlphaPeeler - packaged with 2010 Prentice Hall – USA Author of book Dr. William Stallings included this Cryptography & Network Developed at SSUET, Karachi – educational tool in his book of cryptography 5th Security book Pakistan Edition. NBP Excellence Award 2007 National Bank of Pakistan Awarded on meritorious achievements. Certification for Professional 2000 Pakistan Engineering Council. Reg. # COMP/1343 Engineer SOFTEC 98 Award 1998 FAST – ICS, Lahore Implementation of DesignoCAD PROCOM 98 Award 1998 FAST – ICS, Karachi Implementation of DesignoCAD AlphaPeeler – Classical 1998- Developed at SSUET - Karachi Most popular educational crypto tool cryptography tool 2011 http://alphapeeler.sourceforge.net TEACHING/TRAINING YEAR ORGANIZATION DETAILS URL Documentation, Linux 2010 Ministry of Defense- Islamabad Delivered training for employees Decision Making, 360 2008 The Shams Group (Shams Software Conducted internal training: Decision Making, Employee Evaluations Services) – USA. 360° evaluations. Req. Elicitation, RN, Coding 2006 Plexus PVT. LTD. - Karachi SDLC, Development standards & secure coding Standards techniques & tips PHP, Linux, MySQL 2005 Softech Worldwide LLC - USA open-source technology trainings System Programming Introduction to Unix Chapter One Introduction to Unix 5 Recommended Course Textbooks Jerry Peek, Grace Todino, and John Strang , Learning the Unix Operating System Fifth Edition Deborah S.Ray, Eric J.Ray, UNIX and Linux (Learn UNIX and Linux the quick and easy way) 4th Edition J. Purcell, Linux Complete Command Reference, By RED HAT SOFTWARE, INC. 1st Edition S. G. Kochan, P. Wood (2003) Unix Shell Programming, 3rd Edition, Sams, 460 p. R. K. Michael (2003) Mastering UNIX Shell Scripting, Wiley, 680 p. W. R. Stevens, S. A. Rago (2005) Advanced Programming in the Unix environment, 2nd Edition, Addison Wesley, 960 p. K. A. Robbins, S. Robbins (1996) Practical Unix Programming, Prentice Hall, 658 p. Chapter One Introduction to Unix 6 What is Unix? A modern computer operating system Operating system ―a program that acts as an intermediary between a user of the computer and the computer hardware‖ Software that manages your computer’s resources (files, programs, disks, network, …) Examples: Windows, MacOS, Solaris, BSD, Linux (e.g. OpenSUSE, Red Hat, Slackware) Modern Stable, flexible, configurable, allows multiple users and programs Chapter One Introduction to Unix 7 What is Unix? Unix is a multi-user, multi-tasking operating system. You can have many users logged into a system simultaneously, each running many programs. It's the kernel's job to keep each process and user separate and to regulate access to system hardware, including cpu, memory, disk and other I/O devices. Chapter One Introduction to Unix 8 Why Unix? Used in many scientific and industrial settings Huge number of free and well-written software programs Open-source operating system (OS) Excellent programming environment Largely hardware-independent Based on standards Internet servers and services run on Unix Roughly 65% of the world’s web servers are Linux/Unix machines running Apache Chapter One Introduction to Unix 9 Brief History of Unix First Version was created in Bell Labs in 1969. Some of the Bell Labs programmers who had worked on this project, Ken Thompson, Dennis Ritchie, Rudd Canaday, and Doug McIlroy designed and implemented the first version of the Unix File System on a PDP-7 along with a few utilities. It was given the name UNIX by Brian Kernighan. 00:00:00 Hours, Jan 1, 1970 is time zero for UNIX. It is also called as epoch. Chapter One Introduction to Unix 10 Brief History of Unix Ken Thompson & Dennis Richie originally developed the earliest versions of Unix at Bell Labs for internal use in 1970s Simple and elegant Borrowed best ideas from other OSs Meant for programmers and computer experts Meant to run on ―mini computers‖ Chapter One Introduction to Unix 11 Early Unix History Thompson also rewrote the operating system in high level language of his own design which he called B. The B language lacked many features and Ritchie decided to design a successor to B which he called C. They then rewrote Unix in the C programming language to aid in portability. Small portion written in assembly language (kernel) Remaining code written in C on top of the kernel Chapter One Introduction to Unix 12 Unix History Multics 1965 First Edition 1971 (AT&T) (CACM 1974, 365-375) 1BSD 1977 (Berkeley) Sixth Edition 1975 (AT&T) 4BSD 1980 (Berkeley) SunOS 1985 (Sun) System V 1985 (AT&T) Tenth Edition 1989 (AT&T) 4.3BSD Net/2 1991 (Berkeley) First Linux kernel 1992 (Linus) Solaris 1993 (Sun) FreeBSD-1.0 1993 NetBSD-1.0 1994 OpenBSD-2.0 1996 Max OS X 10.1 2001 (Apple) Chapter One Introduction to Unix 13 Unix versions Two main threads of development: Berkeley software distribution (BSD) (http://www.bsd.org) Unix System Laboratories (http://www.unix.org) BSD SunOS 4, Ultrix, BSDI, OS X, NetBSD, FreeBSD, OpenBSD, Linux (GNU) SYS V System V (AT&T -> Novell -> SCO), Solaris (SunOS 5), HP-UX (Hewlett-Packard), AIX Chapter One Introduction to Unix 14 Brief History of Linux Andrew Tanenbaum, a Dutch professor developed MINIX to teach the inner workings of operating systems to his students In 1991 at the University of Helsinki, Linus Torvalds, inspired by Richard Stallman’s GNU free software project and the knowledge presented in Tanenbaum’s operating system, created Linux, an open-source, Unix-based operating system Over the last decade, the effort of thousands of open- source developers has resulted in the establishment of Linux as a stable, functional operating system Chapter One Introduction to Unix 15 Linux Linux is a free Unix-type operating system originally created by Linus Torvalds with the assistance of developers around the world. It originated in 1991 as a personal project of Linus Torvalds, a Finnish graduate student. The Kernel version 1.0 was released in 1994 and today the most recent stable version is 2.6.9 Developed under the GNU General Public License , the source code for Linux is freely available to everyone. Chapter One Introduction to Unix 16 Layers in a Unix-based System User Interface Users Library interface Standard Utility Programs (shell, editors, compilers, etc.) System interface calls User Mode Standard Library (open, close read, write, etc.) Unix Operating System (process management, memory management, Kernel Mode file system, I/O, etc.) Hardware (CPU, memory, disks, terminals, etc.) Chapter One Introduction to Unix 17 Unix Structure The kernel is the