BOOS Core API 3.1
- api::Collection<Type>
- api::Heap
- api::IllegalValue<Type>
- api::Interrupt
- api::Iterable<Type>
- api::Iterator<Type>
- api::Kernel
- api::List<Type>
- api::ListIterator<Type>
- api::Mutex
- api::Object
- api::ProcessorInterrupt
- api::ProcessorPll
- api::ProcessorRegisters
- api::ProcessorTimer
- api::Queue<Type>
- api::Resource
- api::Runtime
- api::Scheduler
- api::Semaphore
- api::Stack<Type>
- api::String<Char>
- api::Synchronizable
- api::System
- api::Task
- api::Thread
- api::Timer
- api::Toggle
- api::Value<Type>
- library::AbstractBuffer<Type,Alloc>
- library::AbstractLinkedList<Type,Alloc>
- library::Align<Type,SIZEOF,Alloc>
- library::Buffer<Type,COUNT,Alloc>
- library::CircularList<Type,Alloc>
- library::Heap
- library::LinkedList<Type,Alloc>
- library::LinkedNode<Type,Alloc>
- library::Memory
- library::Stack<Type,Alloc>
- library::String<Char,Alloc>
- library::Toggle<Alloc>
BOOS Core API 2.2
- core::Allocator
- core::Interrupt
- core::InterruptTask
- core::Mutex
- core::Object<Alloc>
- core::Semaphore
- core::Synchronizer
- core::System
- core::Thread
- core::ThreadTask
- core::Timer
- core::TimerInterrupt
- util::AbstractBuffer<Type,Alloc>
- util::AbstractLinkedList<Type,Alloc>
- util::Align<Type,SIZEOF,Alloc>
- util::Allocator
- util::Buffer<Type,COUNT,Alloc>
- util::CircularList<Type,Alloc>
- util::Heap
- util::LinkedList<Type,Alloc>
- util::LinkedNode<Type,Alloc>
- util::Memory
- util::Object<Alloc>
- util::Stack<Type,Alloc>
- util::Toggle<Alloc>
Baigudin Software participates in OS DAY 2017 conference
The Baigudin Software Company has participated in OS DAY – a fourth scientific-practical conference, which aims to determine a mission of Russia in developing sphere of operating systems.
Class «core::Synchronizer»
One program synchronization for executing in several processor units.
This class provides a synchronization of one program which is being executed by several processor units.
- core::Synchronizer
- public core::Object<Alloc>
- public Object<Alloc>
- public api::Object
- public Object<Alloc>
- public api::Synchronizable
- public api::Object
- public core::Object<Alloc>
public:
virtual bool isConstructed() const;
virtual bool isEqual(void* ptr, int32 size, int32 channel);
static bool isObject(const Type* obj);
void operator delete(void* ptr);
void* operator new(size_t size);
void* operator new(size_t size, void* ptr);
virtual bool recast(void* ptr, int32 size, int32 channel);
protected:
public: Synchronizer();
Constructor.
public: virtual ~Synchronizer();
Destructor.
public: virtual bool isConstructed() const;
Tests if this object has been constructed.
Returns:
true if object has been constructed successfully.
public: virtual bool isEqual(void* ptr, int32 size, int32 channel);
Tests if given data equals the gauge.
Parameters:
ptr — address of data for synchronizing.
size — number of bytes for synchronizing.
channel — number of processor core which data is the gauge of synchronization.
Returns:
true if given data equals to the gauge.
public: static bool isObject(const Type* obj);
Tests if given object has been constructed object.
Parameters:
obj — pointer to object.
Returns:
true if object has been constructed successfully.
public: void operator delete(void* ptr);
Operator delete.
Parameters:
ptr — address of allocated memory block or a null pointer.
public: void* operator new(size_t size);
Operator new.
Parameters:
size — number of bytes to allocate.
Returns:
allocated memory address or a null pointer.
public: void* operator new(size_t size, void* ptr);
Operator new.
Parameters:
size — unused.
ptr — pointer to reserved memory area
Returns:
given pointer.
public: virtual bool recast(void* ptr, int32 size, int32 channel);
Recasts given data to a gauge.
The method compares given data with a gauge and recasts to it if the data does not equal to the gauge.
Parameters:
ptr — address of data for synchronizing.
size — number of bytes for synchronizing.
channel — number of processor core which data is the gauge of synchronization.
Returns:
true if given data was recast to the gauge.
public: virtual void synchronize();
Synchronizes an executing code section.
The method waits while other processor units get this program pointer and continues executing the program after this.
protected: static Type alloc(size_t size);
Allocates memory.
Parameters:
size — number of bytes to allocate.
Returns:
allocated memory address or a null pointer.
protected: static void free(void* ptr);
Frees an allocated memory.
Parameters:
ptr — address of allocated memory block or a null pointer.
protected: virtual void setConstruct(bool flag);
Sets the object constructed flag.
Parameters:
flag — constructed flag.









