Home    
About Us
e-Brochure
Schedule
Eligibility Criteria
FAQs
Placement Corner
Contact Us

  

System Software is an important area of the computer system. It helps in managing and controlling the hardware and also provides convenient environment for the application software. Software like operating systems, device drivers, compilers, loaders, virtual machines, libraries etc comes under the category of system software, whereas software like computer games, online ticket booking, payroll software etc are classified as application software. System software has to be reliable, robust, fast performing, memory efficient and free from security issues like buffer overflow and format string vulnerabilities. Developing this kind of software is a challenging task as knowledge of system internals and quality (time, memory efficient and robust) programming skills are required. There is a gap between academia and industry requirements in this specific area of software development Manpower having these skills is scarce and there are not many practical oriented training courses. However, demand for these skill sets is fast growing in the development of software specific to domains like Telecommunications, Networking, Cyber Security, Operating Systems, Grid Computing, Ubiquitous Computing, Medical Equipments etc. Usage of wide range of operating systems and applications containing smaller operating system footprint in embedded devices is growing. Understanding the system call interface of operating system and operating system internals is also required in writing efficient application specific libraries and application programs. Knowledge on Operating system features like resource sharing and management, flexibility through separating the role of mechanisms and policies, buffer management, module level interfaces, robustness, performance, security and protection will also help in writing efficient application software.

Centre for Development of Advanced Computing (C-DAC), Hyderabad which is doing pioneering research work in providing system and network security solutions has the requisite expertise to conceive, design to develop and implement training program in system software development. The result of their efforts is the most successful career oriented course “Diploma in System Software Development” (DSSD) for Engineers in Electronics, Computer Science and Information Technology and also for Computer Science Post Graduates.

Diploma in System Software Development (DSSD) is a 22 weeks fulltime course consisting of 9 modules including an industry relevant project and a seminar. Daily session comprises of two hours of classroom lectures followed by four hours of lab work. Project work for one month will be assigned to the students during the course .

  • Introduction to X86 Architecture
  • Interrupt and Exception Handling
  • Task Management
  • Memory and Cache Control
  • Code Optimization
  • Debugging and Performance Monitoring
  • X86 Assembly Language Programming
  • Basic Data Types, Arrays and Pointers
  • Functions, Structures and Unions
  • Files and I/O
  • C and Assembly
  • Introduction to Data Structures, Abstract Data Types and Complexity of Algorithms
  • Arrays, Linked Lists, Stacks, Queues
  • Sorting & Searching Algorithms
  • Trees & Graphs
  • OOPS Concepts, classes, friend functions
  • Operator and Function Overloading
  • Inheritance
  • C++ Files and I/O Support
  • Virtual Functions and Polymorphism
  • Templates
  • Exception Handling
  • RTTI and STL
  • Operating System Overview
  • Processes and Scheduling
  • Memory management
  • Input/Output and File Management
  • Distributed Systems
  • System Protection and Security
  • Overview of computer networks and the Internet.
  • Client-server and peer-to-peer models.
  • Network protocols and the Internet protocol stack.
  • Application layer protocols (FTP, HTTP, SMTP, DNS.)
  • Web caching.
  • TCP/IP and UDP transport protocols.
  • Network layer protocols (IPv4 and IPv6) and routing algorithms.
  • Local area networks (LANs) including Ethernet, Bluetooth and 802.11 wireless.
  • Multimedia Standards
  • Overview of Software Engineering
  • Software Project Management
  • Software Development Methodologies
  • Software Quality Management
  • Introduction to Security Engineering
  • Overview (Attacks, Mechanisms and Services)
  • Goals of Security (Prevention, Detection and Recovery)
  • Introduction to Cryptography & Types of Cryptographic Algorithms
  • Hash Functions & Digital Signatures
  • PKI and Digital Certificates
  • Authentication & Access Control
  • Multilevel security
  • e-Mail Security, Web Security with TLS/SSL
  • Perimeter Security Solutions (Firewall, IDS and VPN)
  • IP Security, Database Security
  • Information security Standards
  • Disaster Planning and Recovery
  • Security Design Principles
  • Security Architectures and Models
  • Secure Coding Practices in C & C++
  • Security Testing and Evaluation Criteria
  • Windows Programming Overview
  • Handling Processes and Pipes
  • Serializing Windows Data
  • Handling Virtual Memory
  • Exception Handling & Event Loggings
  • Unicode and Character Internationalization
  • Creating and Using Threads
  • Handling Synchronized Resources
  • Network Programming
  • Using the Registry
  • Using Named Pipes and Mail Slots
  • Dynamic Link Libraries
  • Creating Windows NT Services
  • Overall System Architecture
  • Kernel Mode I/O components
  • Windows kernel mode driver development
  • Testing and Debugging Drivers
  • Securing Windows environment
  • Architecture, File System and I/O Functions
  • Processes, Threads and Inter-process Communication
  • Socket Programming
  • Timers, Interrupt and Exception Handling
  • Memory Management
  • Kernel Introduction and module programming
  • Introduction to Device Drivers
  • Char Drivers
  • Debugging techniques
  • Hardware Management and Interrupt Handling
  • Block Drivers
  • Protocol Stack and Network Drivers
  • Securing the Linux environment
  • Parallel Programming Paradigms
  • MultiCore Architectures
  • Modeling Performance - Amdahl’s Law, Gustafson’s Law
  • System Overview of Threads
  • Threading and Parallel Programming Constructs
  • Multithreaded Environment
  • Data Races, Deadlocks, and Live Locks
  • POSIX threading APIs
  • Thread-safe Functions and Libraries
  • OpenMP programs on multicore
  • Message Passing Interface (MPI) Programming
  • Performance Analysis of multithreaded programs
  • Multithreaded Debugging Techniques
  • High Performance Computing – Cluster, Grid
  • The students are assigned a project work for the duration of one month. Also, as a part of the curriculum, they are required to give a seminar on a topic relevant to the System Software Design. Special credit is given for the project work and seminar.
 
SignIn? Click here to Login
NewUser? Register Here
ForgotPassword? Click Here
© 2008 C-DAC. All rights reserved.