Search by property
From COMP15212 Wiki
This page provides a simple browsing interface for finding entities described by a property and a named value. Other available search interfaces include the page property search, and the ask query builder.
List of results
- Memory + (Memory is the fundamental element in conventional contemporary computers, (apparently) containing all the code and data of executing programs. Its management as a resource is a fundamental task.)
- Metadata + (Metadata provides information <i>about</i> the ‘main’ data.)
- Using Peripherals + (Methods by which the software can communicate with the I/O devices.)
- Mutual exclusion + (Mutual exclusion means “one at a time”. In this case it is largely about only allowing one of many possible threads to change some structure or I/O device.)
- Pointers + (Not restricted to OS code, pointers are used in all computer programming. They are used extensively in (and around) an OS and a thorough understanding is important.)
- System Calls + (OS provided calls that provide privileged, protected services using trusted code. Used to provide access to I/O devices, system variables etc.)
- Virtual Machines + (One 'box' can apparently be several independent computers.)
- Virtual Networks + (One wire can support several independent connections.)
- Monitoring page behaviour + (Optimisations can require the collection of information about behaviour. This looks at some approaches to finding the information using limited hardware support.)
- PATH + (Ordered lists of places to look for something.)
- Pipes + (Pipes are a convenient means of allowing processes to communicate. One process sends output into a pipe and another can read it from the other end when it wants to.)
- Processes + (Processes are running programs. Many computers run - or appear to run - many processes simultaneously.)
- File Locking + (Protecting files from confusion.)
- Real Time + (Real time systems are those where a <i>late</i> answer is <i>always</i> a <i>wrong</i> answer. It is a requirement in, for example, control systems such as autonomous vehicles.)
- Page Eviction + (Schemes for deciding/predicting which parts of memory are not really wanted too much, and won't be in the (near) future).)
- Concepts + (Some 'highlight' <b>principles</b> which are widely applicable to operating systems and a range of other computing applications.)
- Shell Scripting + (Some examples of jobs which can be done easily with simple ‘command line’ scripts.)
- Bibliography + (Some further reading in a more "conventional" form.)
- Interprocess Communication + (Some high-level notes on how two or more independent processes may communicate.)
- Pointer Exercise + (Some practice (for beginners in C) in how to get at memory 'directly'.)
- Software Exceptions + (Some processors will trap to the O.S. when the processor encounters an execution anomaly - e.g. division by zero.)
- Errors + (Some run time errors are unavoidable. They should still be considered and handled in a defined way.)
- Operation Ordering + (Sometimes the order in which operations are performed is vitally important - especially in a multi-threaded environment.)
- Atomicity + (Sometimes two (or more) operations need to be performed 'simultaneously'. Since software cannot do this there need to be mechanisms to ensure no outside operations interfere.)
- Process Priority + (Sometimes, some processes may be more important or urgent than others. Priority schemes can provide a greater share of resources (particularly processor time) for selected tasks. This can be particularly important in real-time systems.)
- Introduction to Operating Systems + (Start here! This links to the major, top-level concepts.)
- Acknowledgements + (Thanks to contributors to this site.)
- Application Binary Interface (ABI) + (The Application Binary Interface specifies the way software elements communicate within a program.)
- Synchronisation + (The act of collecting together disparate threads so all are at definitive points in their execution.)
- Process States + (The basic data behind <i>scheduling</i> processes.)
- Kernel + (The central, essential part of an operating system. Approaches vary.)
- Context + (The context is the state of a running process.)
- Paging + (The mechanism by which memory mapping is usually managed.)
- Process Scheduling + (The process of sharing the processor (or other) time amongst competing needs.)
- Scheduler + (The schedule is the routine or algorithm which decides what to do next.)
- Virtual Memory + (The separation of the user's view of memory and the physical reality on any given machine. Usually involves translating addresses and may employ paging from backing store.)
- File Attributes + (The sort of metadata which accompanies every file.)
- File Descriptor + (The system used to maintain an open file.)
- Memory Segmentation + (The way memory is organised into logically consistent areas.)
- Filing System Implementation + (There are many ways of constructing a file system, even if different mechanisms <i>look</i> the same to a user. Here are some examples.)
- Peripheral devices + (These are the <b>hardware</b> interfaces which provide the physical I/O for the computer. There may be a large variety in any given system.)
- Structures + (This article covers software collections of associated variables (usually with mixed <i>types</i>) as in a C ‘struct’ or the data in a Java object.)
- About this resource + (This describes the major features of this site.)
- Threads + (Threads are separate code sequences which can be executed in parallel. In general, one <i>process</i> can have several threads with the same memory context.)
- Man(ual pages in Unix) + (Unix on-line manual.)
- Streams + (Unstructured, serial data communications channels.)
- Monitoring + (Watching what is going on.)
- File Types + (What <i>sort</i> of thing is in this file?)
- Idle + (What a processor does when there's nothing better to do.)
- Boot + (What processes might run as a computer starts up?)
- File Permissions + (Who is allowed to do what to a file.)