An Open Source Operating System has the same concepts to a proprietary OS when it comes to security and protection. Both have the components of cryptography, authentication and the like to provide efficient defense against possible threats & attacks. However, the process of developing security procedures is likely to be faster and more reliable in an open source. Since the source code is open to the public, more expert people can find/spot and fix security problems, which only means that the higher the number of the collaborating debuggers, the faster the process is and the higher the possibility of developing a more efficient defense against security breach. In terms of exposure to hackers, taking into account their population is small versus the enormous number of developers, threat is minimal while security and protection of the open source OS has higher chance of formulating the best solutions against vulnerabilities. Compared to a proprietary OS, it is opposite. Security problems takes much time to get resolved because of limited resources (the debuggers) and it costs much.
Archive for Computer Software
In a distributed System, it consist collection of independent computers (each with respective operating systems) that appears to be a single coherent system in the user’s view. Distributed OS looks to user like ordinary centralized OS, but runs on multiple, independent CPUs (through networking). File replication in this kind of system is possible and any updates should be reflected on the replicas (since it is distributed) trough different schemes. The memory in this system has a wider span, thus it has wider resource and definitely employs vast amount of memory. Centralized system on the other hand is a type of system on which communication within the system is routed into a single machine. Data replication maybe possible in a centralized system, but whenever changes are made in a single file, it automatically reflects to its replica (since it is centralized). The system memory is in contrary with the previous one because its resource is limited and may have greater computing power. Both systems employ security measures but differ on implementation. Also in a distributed system, components will still function if one fails, while on the centralized system it is in divergent.
According to a site that I found during my research, there is only one way to increase the capacity of a hard disk. It stated that “The main way to decrease access time is to increase rotational speed, while the main way to increase throughput and storage capacity is to increase areal density.”
Areal density is defined as “the amount of data that can be stored in a given amount of hard disk platter “real estate”. Since disk platters surfaces are of course two-dimensional, areal density is a measure of the number of bits that can be stored in a unit of area. It is usually expressed in bits per square inch (BPSI).” It was also stated that there are two ways to increase areal density
a. increasing the linear density by packing the bits on each track closer together so that each track holds more data; or
b. Increase the track density so that each platter holds more tracks.
In the case given, a 120 GB single platter hard disk’s capacity can be increased by following the mentioned method. Certain calculation may be applied in order to attain the desired percentage of capacity increase (in the case given, an additional of 18GB is expected to be added). The output of the graph should show that for every increase in areal density, there is an increase in the hard disk’s total capacity manifested.
In virtual memory systems, according to what I have read, “the page table stores entries that map page numbers to page frames. A page table contains an entry for each of a process’s virtual pages.” In my conclusion, the page table contains the virtual address of a process (represented by bits), not data or a job. The page table also includes process ID information which is necessary in order for the virtual memory management system to determine what pages are associated into the right process. In cases where the virtual memory management system fails to determine the association of the processes and pages, it is the time that it initiates the procedure of handling page faults (from finding the page to refreshing the instructions).
Thus, the virtual address of a process that the table holds is reference to the actual process. Maybe, the data or job is located in the physical memory, not in the virtual memory.
According to what I have read, you can only directly access the files stored in a tape if you have loaded the tape in your system and mounted it. The tape should be virtually mounted before you can access its files. In the accessing process, the files are accessible through the virtual mount (meaning it has been loaded into its respective directory and the operating system can recognize and look/search for it). Its mount provides efficient storing and organizing process of its files for easier and faster access.
Under what circumstances that a buffer can act as a cache and a cache can act as a buffer?
22 Oct 2008
Though a buffer is not a cache, it can also serve as one. A buffer can act as a cache in the way that it holds or contains data that are being requested by related and cooperating processes. When a certain related processes P2 communicates with the other process P1, the other process P1 sends message through the buffer, so that the requesting process P2 won’t need to go deeper and communicate with it. So, for faster communication, the buffer serves a cache between the related processes. When there is another (similar transaction) attempt of P2 to communicate with P1, there the buffer serves as a cache, containing the frequent data used during the communication.
As what I have read, cache is defined as a special type of buffer memory which holds the most frequently used instructions or data. A cache in my conclusion (based on the given definition) is therefore a buffer already, since it holds data for faster accessing. It also serves as a buffer between the CPU and a client in a sense that it holds data, like the buffer, and it is where the data are being taken from the central processing unit. The only difference is that cache is a faster type of memory.
In a direct communication, it uses only link for connection and communication. It does not employ other medium or external resources to establish communication. Links are established and associated automatically with a pair of communicating process and only one link is present in each pair. While on indirect communication, the word itself suggests a contradiction with the first. It utilizes mailboxes in order for a communication to take place. Though the link is only established when processes share common mailbox, it can be associated by many processes. Both are the same when it comes to the link form, they’re both unidirectional or bidirectional.
The producer-consumer problem
20 Oct 2008
Producer-consumer problem which is also known as the bounded-buffer problem is the problem wherein multiple processes share common resources and synchronization is needed. It has something to do with the two processes involved, the producer and the consumer. These two share a fixed buffer size. The producer produces or generates information and places it in the buffer, while the other consumes the information in the buffer in the same instance. The problem is they don’t work in an alternating manner; they work along with each other. Now, the real problem is when the buffer is full, the producer does not stop from putting more information on the buffer and the consumer continues removing or consuming information even if the buffer is empty. These could result in a corrupt buffer due to concurrent use by both the producer and consumer.