Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Dionysios C. Tsichritzis is active.

Publication


Featured researches published by Dionysios C. Tsichritzis.


Operating Systems | 1974

INTRODUCTION TO PRINCIPLES

Dionysios C. Tsichritzis; Philip A. Bernstein

This course will also be offered remotely for students who register at an approved remote site. Registered remote sites can choose to view the lectures live via web broadcasting or archived online on the course website https://ippcr.nihtraining.com/ . A certificate will be awarded upon successful completion of the course, which is based on receiving a passing grade on an open-book final examination. This course will be of interest to physicians and all other health professionals planning a career in clinical research.


Operating Systems | 1974

CHAPTER 4 – MEMORY MANAGEMENT

Dionysios C. Tsichritzis; Philip A. Bernstein

Publisher Summary This chapter discusses the memory management functions and the general linkage problem. Memory management may be thought of as three functions, which include naming function, memory function, and content function. A given name may refer to different objects, depending on the context in which it is used. The problem of matching names with their corresponding objects is pervasive in software systems. In block structured programming languages, a given name can refer to several different variables, depending on the block in which it is used. In operating systems the context with which one is generally concerned is that of the user program. Several users may have the same names for different files or procedures. It is the job of the operating system to associate the correct object with every name within each user context. Each separately compiled procedure or data structure, called an object module, is coded relative to address zero. Modules cooperate, so that one module can call a procedure or can access data in another module.


Operating Systems | 1974

CHAPTER 2 – PROCESSES

Dionysios C. Tsichritzis; Philip A. Bernstein

Publisher Summary This chapter discusses the concurrency in hardware systems. Peripheral devices and their channels work concurrently with the central processing unit. The central processor can also exploit hardware parallelism. A number of machines have increased their computing power by increasing the number of processors. In a hardware system with several arithmetic processors and a number of channels all working simultaneously, organizing the computations associated with these devices is a complex task. To organize them efficiently is even more difficult. One user does not usually exercise the facilities of the system uniformly. User jobs, when executing concurrently, generally should not be aware of each others existence. It is found that when a job issues a print command, it is not concerned that another job is currently reading in cards. Hardware devices act in a similar fashion. The printer is usually unaware of the readers presence. To model this adequately, a unit of computation is needed, which reflects this concurrency, namely, the process. Computations do occasionally have to exchange information. To the extent that computations must communicate with each other, they are not completely independent. Processes, which are being used to model computations, must reflect this ability to communicate.


Operating Systems | 1974

CHAPTER 5 – VIRTUAL MEMORY

Dionysios C. Tsichritzis; Philip A. Bernstein

Publisher Summary This chapter describes the hardware devices for virtual memory and multilevel memory. There are many well-known hardware devices for information storage and retrieval, including registers, core, drum, fixed-head disk, movable head disk, magnetic tape, punched paper tape, and cards. There are hardware mechanisms especially adapted for virtual memory. In particular, multilevel memory and the paging drum have significantly improved the economic feasibility of virtual memory over conventional hardware design. The most common type of storage organization consists of two levels. Level 1 is a large electronic store such as core which is directly addressable from the central processing unit. Level 2 consists of one or more high-capacity peripheral electromechanical devices such as drum, disk, and tape. It is suggested that if information needed is not located in core, that information must be brought into core from a peripheral device before it can be accessed. This scheme was used in nearly all early paging and segmentation designs and is still found in a majority of small- and medium-sized machines.


Operating Systems | 1974

CHAPTER 6 – I/O AND FILES

Dionysios C. Tsichritzis; Philip A. Bernstein

This chapter discusses the basic file system and logical file system. The operation of the physical devices is coordinated by this first level of software. The processes comprising this system operate close to the hardware. They manipulate volumes and read in or write out blocks of information between specified addresses of main and secondary storage. This system is responsible for converting the unique identifier of a file into an object called a file descriptor. The file descriptor provides the physical address of the file and its length. If the file consists of multiple blocks, the file descriptor points to the different blocks that make up the file. The basic file system also provides commands for breaking up files into smaller subfiles. The function of the logical file system is to determine the unique identifier associated with the symbolic name given by the user. The symbolic name is interpreted in the context of the users directory to obtain the unique identifier associated with the file, which corresponds to a particular descriptor at a lower level.


Operating Systems | 1974

OPERATING SYSTEM FUNCTIONS AND CONCEPTS

Dionysios C. Tsichritzis; Philip A. Bernstein

This chapter discusses operating system functions and concepts. The operating system is that part of the software that supports the sharing of resources. Not every operating system restricts its operation to include only facilities that aid in sharing. Most systems include a file system that is significantly more complex than what is minimally required to share I/O devices. File systems are mostly a convenience factor rather than a requirement for sharing of I/O devices, and their presence in an operating system enables the user to have a simple access to I/O devices. The nucleus of the system, the software that is directly responsible for the sharing of hardware, has functions that are reasonably invariant across a wide variety of machines. The nucleus provides a means by which processors, main memory, and peripheral devices can be shared. The parts of the operating system that interact with users, such as a batch system or a text-editing system, use the nucleus functions as software base in much the same way that the nucleus uses physical devices as a hardware base.


Operating Systems | 1974

EXAMPLES OF SYSTEMS

Dionysios C. Tsichritzis; Philip A. Bernstein

Publisher Summary This chapter describes resources, capabilities, and protection and the ultimate ancestor. Resource claims within the SUE system are managed by means of capabilities. A capability is a 64-bit record, which specifies the availability of some resource to a process. Corresponding to each process, there is a list of capabilities, which determines the process allotment of resources provided by ancestors. Every capability has an associated manager, generally either the facility that originally created the capability or the Kernel. A capability can be modified either explicitly, by the capability manager, or implicitly, by a facility in the Complete Facility Call primitive. Capabilities are useful for both the protection and the management of resources. As nearly all resources in the system are represented as capabilities, there exists a uniform method of creating, manipulating, and destroying them using the capability operations. In transmitting resource information from one process to another, only the slot number of the capability on the capability list is actually passed. The capability lists are protected from the processes so that no process can forge a capability.


Operating Systems | 1974

CHAPTER 9 – IMPLEMENTATION

Dionysios C. Tsichritzis; Philip A. Bernstein

Publisher Summary This chapter discusses the choice of implementation language and program engineering. High-level languages have a structure that can help the programmer write better programs. Algorithms can be programmed more easily in the high-level language, as the programmer need not worry about the details of generating clever assembler code. This also speeds up implementation, as, in principle, a programmer can write the same number of debugged assembly language or high-level language statements per day. The main advantages do not come during the writing phase of programs but rather in understanding, testing, and debugging them. Programs in high-level languages also tend to be self-documenting, so that programmers can read each others listings. This is particularly important when programs have to be maintained. The system language must actively assist in the detection and isolation of syntactic and logical errors. Language constructs should not be prone to misunderstanding and errors. Facilities should be available for both compile-time and run-time checking, based on useful redundancy built into the language. The system language must be compliable into efficient code. The language cannot allow powerful constructs that inherently produce bad code.


Operating Systems | 1974

CHAPTER 7 – PROTECTION

Dionysios C. Tsichritzis; Philip A. Bernstein

Publisher Summary This chapter describes the domain, capabilities, and protection of system. A system should be able to prevent users from maliciously or erroneously harming other users. The assumption that users are friendly and infallible is unrealistic. A user can do harm by destroying his own or another users programs and data or by degrading the service that all users get. Segments can also be explicitly protected. Each time a segment is addressed through the segment table, its protection status is checked against the process that generated the reference. In the same way, when a process tries to access a file, its request goes through the file system that checks the privileges of the process against the protection status of the file. There must be no way to access files except through the file system. A file can be thought of either as a region of addressable space or merely as a unit within the system requiring protection. The notion of regions of addressable space is too general to be useful in describing the protection status of the system. Concepts are needed to understand the design of protection mechanisms. In a protected environment there are passive elements and active elements.


Operating Systems | 1974

CHAPTER 3 – PROCESSOR ALLOCATION

Dionysios C. Tsichritzis; Philip A. Bernstein

Publisher Summary This chapter describes the direct coupled machines and multiprogramming. In a direct coupled system two computers are connected by means of memory-to-memory communication. The slower machine, called the master computer, is in charge of scheduling jobs for the faster machine, called the slave. The master computer reads jobs from the card reader and queues them onto a disk. It is found that when the slave machine finishes executing a job, it sends a request to the master machine for more work. Scheduling, accounting, and I/O are controlled by the master computer. The slave machine is responsible only for raw computing power on user jobs. It relinquishes control over the executive tasks to devote all its time to productive labor. In a multiprogrammed system, several jobs are partially executed at a time. Usually, the jobs are resident in main memory, and the central processor spends some of its time executing each one of them. The primary reason for multiprogramming is to compensate for the discrepancy of speeds between processing and I/O operation. I/O operations are slow relative to instruction speeds.

Collaboration


Dive into the Dionysios C. Tsichritzis's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge