Komponenty | |
| class | process_t | 
| struct | thread_t | 
Przestrzenie nazw | |
| namespace | Scheduler | 
| namespace | Timer | 
Funkcje | |
| void | allocate_context (Thread::thread_t *obj, bool supervisor, uint32 stack, uint32 proc_addr) | 
| int | ProcessRegister (class process_t *proc) | 
| int | ProcessKill (int no) | 
| process_t * | ProcessGet (int i) | 
| int | MmapDestroyStack (class mmap_t *m, struct mmap_s *s) | 
| void | count_prior (thread_t *thread, uint32 i, bool move) | 
| void | prior_thread () | 
| int | ThreadFinishOff (thread_t *thread) | 
| int | ProcFinishOff (process_t *proc) | 
| void | ZombieSlayerThread () | 
| void | MemsetThread () | 
| void | IdleThread () | 
| void | ABCThread () | 
| void | MatkaTeresaThread () | 
| void | BaonKilinski () | 
| void | init () | 
| proste operacje na sieci porozumiewa sie z pci32 by znalezc karte sieciowa 3c556   | |
| class IPC::Lock::lock_t | lock_queues ("queues") | 
| class IPC::Lock::lock_t | lock_sleep ("sleep") | 
| int | wake_threads () | 
| int | enqueue_thread (thread_t *thread, blist_t *queue) | 
| int | unqueue_thread (thread_t *thread, blist_t *queue) | 
| uint32 | thread_load (thread_t *thread) | 
| int | sleepcompar (const void *a, const void *b) | 
| int | sleep (thread_t *thread, uint64 time) | 
| int | sleep (uint64 time) | 
| int | awake (thread_t *thread) | 
| int | sem_sleep (thread_t *thread, struct sem_t *sem_id, uint64 sem_dt) | 
| int | sem_sleep (struct sem_t *sem_id, uint64 sem_dt) | 
| int | sem_awake (thread_t *thread) | 
| thread_t * | ThreadGet (int procno, int threadno) | 
| int | ThreadKill (thread_t *thread) | 
| int | ThreadKill (int procno, int threadno) | 
Zmienne | |
| const uint32 | TSP_SIZE = 0x100 | 
| process_t | kernel_process | 
| class blist_t | Processes | 
| int | LastProcessNum = 1 | 
| const uint32 | DEF_THREAD_PRIOR = 0x5 | 
| const uint32 | PROC_NAME = 0x10 | 
| struct thread_t * | MemsetThreadHandle = NULL | 
| struct thread_t * | IdleThreadHandle = NULL | 
| thread_t volatile * | t1 = NULL | 
| thread_t volatile * | t2 = NULL | 
| int volatile | i = 0 | 
| class process_t proc2 | proc3 | 
| class Memory::Pager::memtree m2 | m3 | 
| class Memory::Heap::heapbox | heap | 
| class blist_t | threads_queue [THREAD_QUEUES] | 
| class blist_t | threads_sleep | 
| class blist_t | threads_dead | 
| const uint32 | THREAD_NAME = 0x20 | 
| const uint32 | THREAD_QUEUES = 32 | 
| const uint32 | LOWEST_PRIORITY = 31 | 
| const uint32 | TH_BUSY = 0x0004 | 
| const uint32 | TH_ACTIVE = 0x0008 | 
| const uint32 | TH_ASLEEP = 0x0010 | 
| const uint32 | TH_DYING = 0x0020 | 
| const uint32 | TH_BLOCKED = 0x0040 | 
| const uint32 | TH_IDLE = 0x0080 | 
| class IPC::Lock::lock_t | lock_queues | 
| class IPC::Lock::lock_t | lock_sleep | 
| void Thread::ABCThread | ( | ) | 
Definicja w linii 270 pliku scheduler.cpp.
Odwołuje się do i, Thread::process_t::no, Thread::thread_t::proc i sleep().
Odwołania w init().
| void Thread::allocate_context | ( | Thread::thread_t * | obj, | |
| bool | supervisor, | |||
| uint32 | stack, | |||
| uint32 | proc_addr | |||
| ) | 
Definicja w linii 41 pliku context.cpp.
Odwołuje się do Arch::x86::GDT::code_sel_kernel, Arch::x86::GDT::code_sel_user, Thread::thread_t::context, Arch::x86::GDT::data_sel_kernel, Arch::x86::GDT::data_sel_user, FAC_ISP, FAC_KSP, FAC_THREAD, FAC_TSP, Memory::Heap::heap0, Arch::x86::Thread::context_t::isp, Arch::x86::Thread::context_t::ksp, memset(), NO_ALIGN, NULL, Arch::x86::Thread::REG_STACK_SIZE, Arch::x86::Thread::context_t::supervisor, Arch::x86::Thread::context_t::tsp i TSP_SIZE.
Odwołania w Thread::process_t::create_thread().
| int Thread::awake | ( | thread_t * | thread | ) | 
Definicja w linii 213 pliku thread.cpp.
Odwołuje się do _Pf, EINVAL, enqueue_thread(), ESUCCESS, i, IPC::Lock::lock_t::lock(), Thread::Scheduler::lock_scheduler, lock_sleep, lock_system, Thread::Scheduler::multitasking_running, preturn, Thread::thread_t::priority, Thread::thread_t::state, TH_ACTIVE, TH_ASLEEP, threads_queue, threads_sleep, IPC::Lock::lock_t::ulock() i unqueue_thread().
Odwołania w sem_awake() i wake_threads().
| void Thread::BaonKilinski | ( | ) | 
Definicja w linii 376 pliku scheduler.cpp.
Odwołuje się do NULL, sleep(), Thread::thread_t::state, t1, t2 i TH_ASLEEP.
| void Thread::count_prior | ( | thread_t * | thread, | |
| uint32 | i, | |||
| bool | move | |||
| ) | 
Definicja w linii 49 pliku scheduler.cpp.
Odwołuje się do ABS, Thread::thread_t::best_priority, enqueue_thread(), IPC::Lock::lock_t::lock(), lock_queues, lock_system, MAX, MIN, Thread::thread_t::prior_diff, PRIOR_THREAD_DELTA, Thread::thread_t::priority, thread_load(), THREAD_QUEUES, threads_queue, IPC::Lock::lock_t::ulock(), unqueue_thread() i Thread::thread_t::worst_priority.
Odwołania w prior_thread().
| int Thread::enqueue_thread | ( | thread_t * | thread, | |
| blist_t * | queue | |||
| ) | 
Definicja w linii 75 pliku thread.cpp.
Odwołuje się do EFAIL, ESUCCESS, i, IPC::Lock::lock_t::lock(), lock_queues, NULL, blist_t::ptr() i IPC::Lock::lock_t::ulock().
Odwołania w awake(), Thread::Scheduler::choose_next_thread(), count_prior() i Thread::process_t::create_thread().
| void Thread::IdleThread | ( | ) | 
| void Thread::init | ( | ) | 
proste operacje na sieci porozumiewa sie z pci32 by znalezc karte sieciowa 3c556
ustawienie timera ktory seeduje linear congruential generator DEF_SECOND/32 na sekunde i czeka na pierwsze seedowanie. w momencie gdy rtc timer pracuje, malo mozliwe jest by parzystosc rdtsc() zmieniala sie miedzy wywolaniami rdtsc_runner() w przewidywalny sposob
Definicja w linii 403 pliku scheduler.cpp.
Odwołuje się do ABCThread(), Memory::Heap::allocate_heapbox(), Memory::Pager::allocate_memtree(), Arch::x86::check_cpuid(), cout(), Arch::x86::cpu_flags, Arch::x86::CPU_SEP, Arch::x86::cpu_signature, Arch::x86::CPU_TCS, Arch::x86::cpu_vendor_name, Arch::x86::cpuid(), Arch::x86::cpuid_success, Thread::process_t::create_thread(), ESUCCESS, FAC_THREAD, FAC_THRLIST, FAC_THRSLEEP, heap, Memory::Heap::heap0, i, IdleThread(), IdleThreadHandle, Thread::process_t::init(), blist_t::init(), string::inval(), kernel_process, Memory::Pager::kmem, lock_queues, Thread::Scheduler::lock_scheduler, m3, MemsetThread(), MemsetThreadHandle, prior_thread(), proc3, Processes, ProcessRegister(), string::set(), Thread::thread_t::state, string::strcmp(), sysfail, TH_IDLE, THREAD_QUEUES, threads_dead, threads_queue, threads_sleep, IPC::Lock::lock_t::ulock(), Arch::x86::RTC::up_time, Thread::thread_t::work_time i ZombieSlayerThread().
Odwołania w main().
| class IPC::Lock::lock_t Thread::lock_queues | ( | "queues" | ) | 
| class IPC::Lock::lock_t Thread::lock_sleep | ( | "sleep" | ) | 
| void Thread::MatkaTeresaThread | ( | ) | 
| void Thread::MemsetThread | ( | ) | 
Definicja w linii 218 pliku scheduler.cpp.
Odwołuje się do Memory::Physical::alloc4kDirty_high(), Memory::Physical::alloc4kDirty_low(), ESUCCESS, Memory::zone::free(), i, NULL, Memory::Physical::PAGESCLEANMAX, say, sleep(), Memory::Physical::zero_pages_high i Memory::Physical::zero_pages_low.
Odwołania w init().
Definicja w linii 174 pliku process.cpp.
Odwołuje się do disalloc4k(), end, ESUCCESS, i, mmap_s::info, Thread::process_t::mem, PAGE_SIZE, PTE_PRESENT, Memory::Pager::memtree::pte_val() i mmap_s::start.
Odwołania w Thread::process_t::alloc_stack().
| void Thread::prior_thread | ( | ) | 
Definicja w linii 86 pliku scheduler.cpp.
Odwołuje się do bli_dt, count_prior(), CRT_STACK, CRT_STACK_SIZE, disalloc4k(), blist_t::head, i, Memory::Pager::kmem, IPC::Lock::lock_t::lock(), lock_queues, blist_s::next, PAGE_SIZE, PRIOR_THREAD_SLEEP, PTE_PRESENT, sleep(), THREAD_QUEUES, threads_queue, threads_sleep i IPC::Lock::lock_t::ulock().
Odwołania w init().
| process_t * Thread::ProcessGet | ( | int | i | ) | 
Definicja w linii 99 pliku process.cpp.
Odwołuje się do bli_dt, blist_t::head, blist_s::next, NULL i Processes.
Odwołania w ProcessKill() i ThreadGet().
| int Thread::ProcessKill | ( | int | no | ) | 
Definicja w linii 82 pliku process.cpp.
Odwołuje się do bli_dt, current_thread, EFAIL, ESUCCESS, blist_t::head, blist_s::next, NULL, ProcessGet(), Thread::process_t::thread_list i ThreadKill().
| int Thread::ProcessRegister | ( | class process_t * | proc | ) | 
Definicja w linii 73 pliku process.cpp.
Odwołuje się do LastProcessNum, Thread::process_t::no, NULL, Processes i blist_t::ptr().
Odwołania w init() i Module::init().
| int Thread::ProcFinishOff | ( | process_t * | proc | ) | 
Definicja w linii 158 pliku scheduler.cpp.
Odwołuje się do procenv_t::api, blist_t::del(), Memory::Heap::heapbox::destruct(), Memory::Pager::memtree::done(), mmap_t::done(), EINVAL, Thread::process_t::env, ESUCCESS, blist_t::find(), blist_t::head, Thread::process_t::heap, IPC::Lock::lock_t::lock(), lock_queues, Thread::process_t::mem, Memory::Pager::memtree::memory_map, NULL, Processes, Thread::process_t::thread_list i IPC::Lock::lock_t::ulock().
Odwołania w ZombieSlayerThread().
| int Thread::sem_awake | ( | thread_t * | thread | ) | 
Definicja w linii 264 pliku thread.cpp.
Odwołuje się do awake(), NULL, Thread::thread_t::sem_dt i Thread::thread_t::sem_id.
Odwołania w sem_post().
Definicja w linii 251 pliku thread.cpp.
Odwołuje się do Thread::thread_t::sem_dt, Thread::thread_t::sem_id i sleep().
Odwołania w sem_sleep() i sem_wait().
| int Thread::sleep | ( | uint64 | time | ) | 
| int Thread::sleep | ( | thread_t * | thread, | |
| uint64 | time | |||
| ) | 
Definicja w linii 152 pliku thread.cpp.
Odwołuje się do _Pf, Thread::thread_t::awake_time, blistsort_ptr(), current_thread, EFAIL, ESUCCESS, i, IPC::Lock::lock_t::lock(), lock_queues, Thread::Scheduler::lock_scheduler, lock_sleep, lock_system, NULL, preturn, Thread::thread_t::priority, sleepcompar(), Thread::thread_t::state, TH_ACTIVE, TH_ASLEEP, TH_BUSY, TH_DYING, threads_queue, threads_sleep, IPC::Lock::lock_t::ulock(), unqueue_thread() i Arch::x86::RTC::up_time.
Odwołania w ABCThread(), BaonKilinski(), Net::EthernetFrameDemultiplexingThread(), Net::EthernetFrameReceptionThread(), IPC::Lock::lock_t::lock(), MatkaTeresaThread(), MemsetThread(), prior_thread(), API::v1::req(), sem_sleep(), sleep(), ThreadKill(), Thread::Timer::TimerThread(), VarieteThread() i ZombieSlayerThread().
| int Thread::sleepcompar | ( | const void * | a, | |
| const void * | b | |||
| ) | 
| uint32 Thread::thread_load | ( | thread_t * | thread | ) | 
Definicja w linii 103 pliku thread.cpp.
Odwołuje się do _Pf, Thread::thread_t::creation_time, i, Thread::thread_t::load, preturn, Thread::thread_t::run1_time, Thread::thread_t::run2_time, Thread::thread_t::running_time, Thread::thread_t::save1_time, Thread::thread_t::save2_time i Arch::x86::RTC::up_time.
Odwołania w count_prior().
| int Thread::ThreadFinishOff | ( | thread_t * | thread | ) | 
Definicja w linii 119 pliku scheduler.cpp.
Odwołuje się do bli_dt, threnv_t::cd, blist_t::del(), mmap_s::destroy, IPC::Message::mailbox::done(), Thread::thread_t::env, ESUCCESS, blist_t::find(), blist_t::head, Thread::thread_t::inbox, mmap_t::map, mmap_t::mdel(), Thread::process_t::mem, Memory::Pager::memtree::memory_map, blist_s::next, Thread::thread_t::no, NULL, Thread::thread_t::proc, Arch::x86::Interr::except2_t::stack, Arch::x86::Interr::stackPtr, Arch::x86::Interr::stackVac, Thread::thread_t::state, TH_BLOCKED, mmap_s::thread, Thread::process_t::thread_list i threads_dead.
Odwołania w ZombieSlayerThread().
| thread_t * Thread::ThreadGet | ( | int | procno, | |
| int | threadno | |||
| ) | 
Definicja w linii 271 pliku thread.cpp.
Odwołuje się do bli_dt, blist_t::head, blist_s::next, NULL, ProcessGet() i Thread::process_t::thread_list.
Odwołania w ThreadKill().
| int Thread::ThreadKill | ( | int | procno, | |
| int | threadno | |||
| ) | 
| int Thread::ThreadKill | ( | thread_t * | thread | ) | 
Definicja w linii 285 pliku thread.cpp.
Odwołuje się do NULL, blist_t::ptr(), sleep(), Thread::thread_t::state, TH_DYING i threads_dead.
Odwołania w Net::EthernetFrameReceptionThread(), ProcessKill(), ThreadKill() i VarieteThread().
| int Thread::unqueue_thread | ( | thread_t * | thread, | |
| blist_t * | queue | |||
| ) | 
Definicja w linii 85 pliku thread.cpp.
Odwołuje się do _Pf, bli_dt, blist_t::del(), EFAIL, ESUCCESS, blist_t::head, IPC::Lock::lock_t::lock(), lock_queues, blist_s::next, preturn i IPC::Lock::lock_t::ulock().
Odwołania w awake(), Thread::Scheduler::choose_high(), Thread::Scheduler::choose_next_thread(), count_prior() i sleep().
| int Thread::wake_threads | ( | ) | 
Definicja w linii 46 pliku thread.cpp.
Odwołuje się do _PF, awake(), Thread::thread_t::awake_time, bli_dt, EFAIL, ESUCCESS, blist_t::head, lock_queues, lock_sleep, lock_system, IPC::Lock::lock_t::locked(), Thread::Scheduler::multitasking_running, blist_s::next, Preturn, threads_sleep i Arch::x86::RTC::up_time.
Odwołania w Arch::x86::RTC::rtc_handler().
| void Thread::ZombieSlayerThread | ( | ) | 
Definicja w linii 184 pliku scheduler.cpp.
Odwołuje się do bli_dt, blist_t::head, blist_s::next, NULL, Thread::thread_t::proc, ProcFinishOff(), sleep(), Thread::process_t::thread_list, ThreadFinishOff() i threads_dead.
Odwołania w init().
| const uint32 Thread::DEF_THREAD_PRIOR = 0x5 | 
Definicja w linii 39 pliku thread.cpp.
Odwołania w init(), Arch::x86::Interr::stack_fault() i VarieteThread().
| int volatile Thread::i = 0 | 
Definicja w linii 269 pliku scheduler.cpp.
Odwołania w ABCThread(), mmap_t::add(), Memory::Physical::alloc4kDirty_high(), Memory::Physical::alloc4kDirty_low(), Thread::process_t::alloc_stack(), Net::Arp::arp_cache_insert(), ATAReadSector(), ATAReadSectorWRetryCHS(), awake(), Memory::Heap::can_be_aligned(), fat_t::chain_length(), Thread::Scheduler::choose_high(), fat_t::cluster_no(), string::cut(), Syms::Mangle::Cxx::d_nestedname(), Syms::Mangle::Cxx::d_sourcename(), Syms::Mangle::Cxx::d_subst(), Syms::Mangle::Cxx::d_symb(), Syms::Mangle::Cxx::d_type(), debug_dump_call_trace(), mmap_t::del(), Syms::Mangle::Cxx::demangle(), Syms::Mangle::demangle(), Memory::Heap::heapbox::destruct(), e3c556_irq(), e3c556_poll(), enqueue_thread(), Net::eth_transmit(), Net::ethernet_address::ethernet_address(), Net::EthernetFrameDemultiplexingThread(), Net::EthernetFrameReceptionThread(), fat_t::fat_rawrw(), stack_t::find(), find_bios32_service_directory_header(), mmap_t::firstfit(), mmap_t::fitbelow(), Memory::Pager::FrameAssign(), init(), Module::init(), Syms::init(), Memory::Heap::init(), Memory::Physical::init(), Mboot::init(), fat_t::lfn2name(), fat_t::lfn_parse_dir(), mmap_t::lgth(), mmap_t::mdel(), MemsetThread(), mmap_t::mfitbelow(), MmapDestroyStack(), Memory::Heap::morecore(), Net::netif::netif(), Memory::Heap::new_bl_bl(), Net::onFramesReceived(), Net::onFramesTransmitted(), fat_t::open(), stack_t::pop_value(), print(), prior_thread(), Net::ICMP::processDatagram(), fat_t::read_chain(), fat_t::read_next_clust(), fat_t::readdir(), API::v1::req(), fat_t::sfn2name(), Memory::Shmem::shmem_attach(), Memory::Shmem::shmem_create(), sleep(), Debug::Profiler::stats(), string::strcmp(), sub(), Arch::x86::Sysenter::SysEnter(), thread_load(), API::v1::user_morecore(), VarieteThread(), fat_t::verify() i fat_t::write_next_clust().
| struct thread_t * Thread::IdleThreadHandle = NULL | 
Definicja w linii 46 pliku scheduler.cpp.
Odwołania w Thread::Scheduler::choose_next_thread() i init().
Definicja w linii 67 pliku process.cpp.
Odwołania w init(), Thread::Timer::initTimerThread() i main().
| int Thread::LastProcessNum = 1 | 
Odwołania w awake(), sleep() i wake_threads().
| const uint32 Thread::LOWEST_PRIORITY = 31 | 
Definicja w linii 31 pliku thread.hpp.
| class Memory::Pager::memtree m2 Thread::m3 | 
struct thread_t * Thread::MemsetThreadHandle = NULL [read]           | 
        
| class process_t proc2 Thread::proc3 | 
| const uint32 Thread::PROC_NAME = 0x10 | 
Definicja w linii 32 pliku process.hpp.
Odwołania w Thread::process_t::init() i Thread::process_t::InitKeepHeap().
| class blist_t Thread::Processes | 
Definicja w linii 68 pliku process.cpp.
Odwołania w init(), ProcessGet(), ProcessRegister() i ProcFinishOff().
| thread_t volatile* Thread::t1 = NULL | 
Definicja w linii 267 pliku scheduler.cpp.
Odwołania w BaonKilinski(), Syms::Mangle::Cxx::d_check(), Syms::Mangle::Cxx::d_nestedname(), Syms::Mangle::Cxx::d_sourcename() i MatkaTeresaThread().
| thread_t volatile * Thread::t2 = NULL | 
| const uint32 Thread::TH_ACTIVE = 0x0008 | 
Definicja w linii 34 pliku thread.hpp.
Odwołania w awake(), Thread::Scheduler::choose_next_thread(), Thread::process_t::create_thread() i sleep().
| const uint32 Thread::TH_ASLEEP = 0x0010 | 
| const uint32 Thread::TH_BLOCKED = 0x0040 | 
| const uint32 Thread::TH_BUSY = 0x0004 | 
Definicja w linii 33 pliku thread.hpp.
Odwołania w Thread::Scheduler::choose_next_thread() i sleep().
| const uint32 Thread::TH_DYING = 0x0020 | 
| const uint32 Thread::TH_IDLE = 0x0080 | 
Definicja w linii 38 pliku thread.hpp.
Odwołania w Thread::Scheduler::choose_next_thread() i init().
| const uint32 Thread::THREAD_NAME = 0x20 | 
| const uint32 Thread::THREAD_QUEUES = 32 | 
Definicja w linii 30 pliku thread.hpp.
Odwołania w Thread::Scheduler::choose_high(), count_prior(), init() i prior_thread().
| class blist_t Thread::threads_dead | 
Definicja w linii 43 pliku thread.cpp.
Odwołania w init(), ThreadFinishOff(), ThreadKill() i ZombieSlayerThread().
| class blist_t Thread::threads_queue | 
Definicja w linii 40 pliku thread.cpp.
Odwołania w awake(), Thread::Scheduler::choose_high(), Thread::Scheduler::choose_next_thread(), count_prior(), Thread::process_t::create_thread(), init(), prior_thread() i sleep().
| class blist_t Thread::threads_sleep | 
Definicja w linii 42 pliku thread.cpp.
Odwołania w awake(), init(), prior_thread(), sleep() i wake_threads().
| const uint32 Thread::TSP_SIZE = 0x100 | 
 1.5.6