Saturday, October 15, 2011

Secure Sockets Layer (SSL)

The Secure Sockets Layer (SSL) is a commonly-used protocol for managing the security of a message transmission on the Internet. SSL has recently been succeeded by *Transport Layer Security (TLS), which is based on SSL. SSL uses a program layer located between the Internet's Hypertext Transfer Protocol (HTTP) and Transport Control Protocol (TCP) layers. SSL is included as part of both the Microsoft and Netscape browsers and most Web server products. Developed by Netscape, SSL also gained the support of Microsoft and other Internet client/server developers as well and became the de facto standard until evolving into Transport Layer Security. The "sockets" part of the term refers to the sockets method of passing data back and forth between a client and a server program in a network or between program layers in the same computer. SSL uses the public-and-private key encryption system from RSA, which also includes the use of a digital certificate.

Transport Layer Security (TLS) : Transport Layer Security (TLS) is a protocol that ensures privacy between communicating applications and their users on the Internet. When a server and client communicate, TLS ensures that no third party may eavesdrop or tamper with any message. TLS is the successor to the Secure Sockets Layer.TLS is composed of two layers: the TLS Record Protocol and the TLS Handshake Protocol. The TLS Record Protocol provides connection security with some encryption method such as the Data Encryption Standard (DES). The TLS Record Protocol can also be used without encryption. The TLS Handshake Protocol allows the server and client to authenticate each other and to negotiate an encryption algorithm and cryptographic keys before data is exchanged.

HTTP Secure

Hypertext Transfer Protocol Secure, or HTTPS, combines standard HTTP with SSL for secure identification and encrypted communication of web servers. This standard is frequently used for online payments and other transactions that involve sensitive information. The idea behind HTTPS is to create a secure channel over a mostly unsecure network.

Sunday, September 25, 2011

Parallel Programming in the .NET Framework


Many personal computers and workstations have two or four cores (that is, CPUs) that enable multiple threads to be executed simultaneously. Computers in the near future are expected to have significantly more cores. To take advantage of the hardware of today and tomorrow, you can parallelize your code to distribute work across multiple processors. In the past, parallelization required low-level manipulation of threads and locks. Visual Studio 2010 and the .NET Framework 4 enhance support for parallel programming by providing a new runtime, new class library types, and new diagnostic tools. These features simplify parallel development so that you can write efficient, fine-grained, and scalable parallel code in a natural idiom without having to work directly with threads or the thread pool.

Task Parallel Library : Provides documentation for the System.Threading.Tasks.Parallel class, which includes parallel versions of For and ForEach loops, and also for the System.Threading.Tasks.Task class, which represents the preferred way to express asynchronous operations.

Parallel LINQ (PLINQ) : A parallel implementation of LINQ to Objects that significantly improves performance in many scenarios.

Data Structures for Parallel Programming : Provides links to documentation for thread-safe collection classes, lightweight synchronization types, and types for lazy initialization.

Parallel Diagnostic Tools : Provides links to documentation for Visual Studio debugger windows for tasks and parallel stacks, and the Concurrency Visualizer, which consists of a set of views in the Visual Studio Application Lifecycle Management Profiler that you can use to debug and to tune the performance of parallel code.

Custom Partitioners for PLINQ and TPL : Describes how partitioners work and how to configure the default partitioners or create a new partitioner.

Task Factories : Describes the role of the System.Threading.Tasks.TaskFactory class.

Task Schedulers : Describes how schedulers work and how the default schedulers may be configured.

Lambda Expressions in PLINQ and TPL : Provides a brief overview of lambda expressions in C# and Visual Basic, and shows how they are used in PLINQ and the Task Parallel Library.

For Further Reading (Parallel Programming) : Provides links to additional documentation and sample resources for parallel programming in the .NET Framework.

.NET Framework Advanced Development : Top level node for advanced topics such as threading and parallel programming.

Sunday, August 28, 2011

Task Manager


  • MEM Usage—This bar graph shows the amount of virtual memory your computer is using.

  • Memory Usage History—This line graph tracks the size of your virtual memory over time. It only displays the results; it doesn't actually record them anywhere.

  • Physical Memory Total—This number represents the total amount of RAM installed on your computer.

  • Physical Memory Available—This number shows the amount of RAM available for CPU processes. This number will never go to zero because the operating system will swap data to the hard disk as the memory fills.

  • Physical Memory System Cache—This is the amount of RAM being used by the file cache.

  • Commit Charge Total—This number shows the size of virtual memory in use. You'll notice that this number matches the number shown in MEM Usage.

  • Commit Charge Limit—This shows the size of your paging limit. The paging limit is the maximum size your virtual memory can be without making changes to its configuration.

  • Commit Charge Peak—This number shows the highest amount of virtual memory used since you began tracking usage.

  • Kernel Memory Total—This number shows the amount of paged and nonpaged memory used by the operating system's kernel. The kernel is the central core of the operating system that does most of the background work.

  • Kernel Memory Paged—This number shows the amount of virtual memory set aside for the kernel.

  • Kernel Memory Nonpaged—This is the amount of RAM dedicated to the operating system's kernel.
  • CPU Time—The total processor time, in seconds, used by the process since it was started.
  • CPU Usage—The percentage of time the threads of the process used the processor since the last update.
  • Memory UsageThe amount of main memory, in kilobytes, used by the process.

Windows Task Manager

Windows Task Manager is a *task manager application included with the Microsoft Windows NT family of operating systems that provides detailed information about computer performance and running applications, processes and CPU usage, commit charge and memory information, network activity and statistics, logged-in users, and system services. The Task Manager can also be used to set process priorities, processor affinity, forcibly terminate processes, and shut down, restart, hibernate or log off from Windows.

*(A task manager is a program used to provide information about the processes and programs running on a computer, as well as the general status of the computer. It can also be used to terminate processes and programs, as well as change the processes priority).

Wireless-N

  • Wireless-N The 802.11n standard will be the next generation of high-speed Wi-Fi, capable of delivering the range and capacity to support today's most bandwidth-hungry applications, like streaming HD (High Definition) video, voice and music.

  • Wireless-N uses multiple technologies such as MIMO (Multiple Input, Multiple Output), which utilizes multiple radios to transmit and receive at the same time to maximize wireless networking performance. While MIMO itself is not a standard, it is the underlying technology behind the throughput increase in 802.11n. These multiple radios transmit multiple streams of data called "spatial streams." The higher the number of spatial streams, the higher the throughput.
  • The Wireless-N gigabit router (WRT310N) and Wireless-N broadband router (WRT160N) delivers enough speed, range and reliability to support streaming HD video while simultaneously listening to your digital music collection, making Internet VoIP (Voice over IP) phone calls, and playing multiplayer online games when used with the Linksys Wireless-N laptop adapter (WPC300N). Wireless network performance can reach speeds faster than wired Ethernet speeds.*

* Actual data throughput will vary. Network conditions and environmental factors lower actual data throughput rate

  • Wireless-N is secure as Linksys Wireless-N products use today's most robust security methods like WPA (Wi-Fi Protected Access) encryption along with SPI/NAT firewalls to keep your network safe and data protected from unauthorized access.

Sunday, August 21, 2011

Command Interpreter

The part of an Operating System that interprets commands and carries them out.

A command interpreter is the part of a computer operating system that understands and executes commands that are entered interactively by a human being or from a program. In some operating systems, the command interpreter is called the shell.

The BIOS is looking for the files needed to load in case of Windows is the Command.com. The required files are Command.com, IO.sys, and Msdos.sys to get Windows started. They reside in the Root of the C Drive.

Is a program which reads the instructions given by the user. It then translates these instructions into the context of the operating system followed by the execution. Command interpreter is also known as ‘shell’