Ejemplo n.º 1
0
 public void Alloc(MemAppData app)
 {
     app.BlockPercentageUseage = (app.MemorySize * 100) / _totalmemory;
     app.TotalPercentageUseage = (app.MemorySize * 100) / MemoryManager.Totalmemory;
     Apps.Add(app);
     AvaliableMemory -= app.MemorySize;
 }
Ejemplo n.º 2
0
        public bool Allocate(Application app)
        {
            MemAppData memdata = GetMemAppData(app);

            switch (AllocationMode)
            {
            case MemAllowcationMode.First:
                #region Alloc First
                for (int i = 0; i < Blocks.Count; i++)
                {
                    if (Blocks[i].AvaliableMemory >= memdata.MemorySize)
                    {
                        app.MemBlockIndex = i;
                        Blocks[i].Alloc(memdata);
                        OnBlockChanged?.Invoke(i, Blocks[i]);
                        return(true);
                    }
                }
                #endregion

                break;

            case MemAllowcationMode.Best:
                break;

            case MemAllowcationMode.Next:
                break;

            case MemAllowcationMode.Worst:
                break;

            default:
                break;
            }
            return(false);
        }