127 research outputs found

    Development of Real Time Operating Systen for PIC18F Microcontrollers for Educational Purposes

    Get PDF
    Real Time Operating System (RTOS) is a small operating system designed to manage the peripherals of Microcontrollers and exhibit a low level layer to enhance the parallel execution of multiple programs. In addition to that, RTOSes are most of concern about guarantee the processing at real time. This project aims to implement and develop RTOS on PIC18Fxxx family. This RTOS is to be developed under MPLAB IDE integrated development environment. The kernel of this RTOS is written in Assembly language while the users may use both assembly and C to develop their applications. A previous RTOS project called PICos18 developed by Pragamtec inc. is being considered. The selection of this system is due to its free license and the availability of its documentations. PICos18 is based on OSEK/VDX (German/French industrial standards for operating systems). The main contribution in this project is first, by developing RTOS to review and demonstrate the concept of RTOS and secondly, by developing drivers and application compatible with the developed RTOS and finally presenting the developed RTOS in educational form for future use as a teaching tool in microcontroller-based courses

    Improved memory loading techniques for the TSRV display system

    Get PDF
    A recent upgrade of the TSRV research flight system at NASA Langley Research Center retained the original monochrome display system. However, the display memory loading equipment was replaced requiring design and development of new methods of performing this task. This paper describes the new techniques developed to load memory in the display system. An outdated paper tape method for loading the BOOTSTRAP control program was replaced by EPROM storage of the characters contained on the tape. Rather than move a tape past an optical reader, a counter was implemented which steps sequentially through EPROM addresses and presents the same data to the loader circuitry. A cumbersome cassette tape method for loading the applications software was replaced with a floppy disk method using a microprocessor terminal installed as part of the upgrade. The cassette memory image was transferred to disk and a specific software loader was written for the terminal which duplicates the function of the cassette loader

    Type-Safe Operating System Abstractions

    Get PDF
    Operating systems and low-level applications are usually written in languages like C and assembly, which provide access to low-level abstractions. These languages have unsafe type systems that allow many bugs to slip by programmers. For example, in 1988, the Internet Worm exploited several insecure points in Unix including the finger command. A call to finger with an unexpected argument caused a buffer overflow, leading to the shutdown of most Internet traffic. A finger application written in a type-safe language would have prevented its exploit and limited the points the Internet Worm could attack. Such vulnerabilities are unacceptable in security-critical applications such as the secure coprocessors of the Marianas network, secStore key storage from Plan 9, and self-securing storage. This research focuses on safe language techniques for building OS components that cannot cause memory or IO errors. For example, an Ethernet device driver communicates with its device through IO operations. The device depends on FIFO queues to send and receive packets. A mistake in an IO operation can overflow or underflow the FIFO queues, cause memory errors, or cause configuration inconsistencies on the device. Data structures such as FIFO queues can be written safely in safe languages such as Java and ML but these languages do not allow the access to the low-level resources that an OS programmer needs. Therefore, safe OS components require a language that combines the safety of Java with the low-level control of C. My research formalizes the concurrency, locks, and system state needed by the safety-critical areas of a device driver. These formal concepts are built on top of an abstract syntax and rules that guarantees basic memory safety using linear and singleton types to implement safe memory load and store operations. I proved that the improved abstract machine retains the property of soundness, which means that all well-typed programs will be able to execute until they reach an approved end-state. Together, the concurrency, locks, and state provide safety for IO operations and data structures. Using the OSKit from the University of Utah as a starting point, I developed a small operating system. I ported the 3c509 Ethernet device driver from C to Clay, a C-like type-safe language that uses a type system powerful enough to enforce invariants about low-level devices and data structures. The resulting driver works safely in a multi-threaded environment. It is guaranteed to obtain locks before using shared data. It cannot cause a FIFO queue to overflow or underflow and it will only call IO operations when invariants are satisfied. This type-safe driver demonstrates an actual working application of the theoretical components of my research. The abstract machine is powerful enough to encode a given OS specification and enforce a provably matching implementation. These results lead towards fundamentally secure computing environments

    Membangun Embedded Linux pada ALIX3d2 dengan Buildroot pada Aplikasi Stasiun Cuaca

    Get PDF
    oai:jurnal.informatika.lipi.go.id:article/89Embedded computer memerlukan sistem operasi yang cukup padat namun handal untuk menjalankan fungsi tertentu secara kontinyu. Embedded Linux menggunakan kernel Linux dengan sumber yang terbatas sebagai inti dari sistem operasi. Pada kegiatan ini, Buildroot dipilih untuk membangun sistem Embedded Linux karena memiliki kode sumber yang lengkap untuk komputer papan tunggal ALIX 3d2. Embedded linux yang dibangun untuk stasiun cuaca dengan menggunakan sensor/transducer dapat berjalan dengan baik padaboard ALIX3d2.Kata kunci : embedded system, embedded linux, buildroot, ALIX3d

    A review on Cloud Computing Architectures and Applications

    Get PDF
    In current time the IT based services demands , services deployment cost , scalability issues and many more constraints have paved the way for focusing on cloud computing. Cloud computing is the structure of a central server resources distributed on the platform scalable environment to provide "on demand" computing resources. In this research in detail the various structures of cloud computing are reviewed. The applications of these architectures are discussed for different areas of life. Also the different working domains of cloud computing architectures are summarized . The purpose of this research is to provide understanding to the students , professionals, developers and researchers about cloud computing

    CoS: a new perspective of operating systems design for the cyber-physical world

    Get PDF
    Our day-to-day life is dependent on several embedded devices, and in the near future, many more objects will have computation and communication capabilities enabling an Internet of Things. Correspondingly, with an increase in the interaction of these devices around us, developing novel applications is set to become challenging with current software infrastructures. In this paper, we argue that a new paradigm for operating systems needs to be conceptualized to provide aconducive base for application development on Cyber-physical systems. We demonstrate its need and importance using a few use-case scenarios and provide the design principles behind, and an architecture of a co-operating system or CoS that can serve as an example of this new paradigm
    • …
    corecore