본문 바로가기

728x90
728x90

Computer Science

[운영체제/OS] (2) 프로세스 동기화(Process Synchronization)-Bounded-Buffer Problem-Readers and Writers Problem-Dining-Philosophers Problem-Monitors-컴도리돌이 outline Classical Problems of Synchronization Bounded-Buffer Problem Readers and Writers Problem Dining-Philosophers Problem Monitors 전통적 동기화 문제들(Classical Problems of Synchronization) 1. 유한 버퍼 문제(Bounded-Buffer Problem), 소비-생산자 문제(Producer-Consumer Problem) 생산자(Producer)는 데이터를 생성하고, 소비자(Consumer)는 데이터를 소비한다. 생산한 데이터는 중간의 버퍼(buffer)라는 저장 공간에 저장해 두고, 소비자는 버퍼에서 필요한 만큼 가져간다. 버퍼의 크기는 유한하다. 버퍼의 공간이 가.. 더보기
[운영체제/OS] (1) 프로세서 동기화(Process Synchronization)-Critical Section-Peterson`s Algorithm-Lock-TestAndSet-Swap-Semaphores-Block/Wakeup-컴도리돌이 outline Critical Section Requirements for the Solution Alogrithm Synchronization Hardware TestAndSet and Swap Semaphores Critical Section of n Processes Block/ Wakeup Implementation 프로세스 동기화(Process Synchronization) 프로세스는 독립 프로세스(Independent Process)와 협력 프로세스(Cooperating Process)로 나눠진다. 협력 프로세스는 다른 프로세스에 의해 영향을 주고받을 수 있는 프로세스이다. 반대로 다른 프로세스에게 영향을 미치지 않고 독립적인 프로세스를 독립 프로세스라고 한다. 현대 컴퓨터 환경에서는 협력 프.. 더보기
[운영체제/OS] CPU 스케줄러(CPU Scheduler)-FCFS-SJF-SRTF-Priority Scheduling-RR(Round Robin)-Multilevel Queue-Multilevel Feedback Queue-Dispatcher- 컴도리돌이 outline CPU Scheduler Scheduling Criteria Dispatcher Scheduling Algorithms FCFS(First-Come First-Served) SJF(Shortest-Job-First) SRTF(Shortest-Remaining-Time-First) Priority Scheduling RR(Round Robin) Multilevel Queue Multilevel Feedback Queue CPU 스케줄러(CPU Scheduler) CPU가 하나의 프로세스 작업이 끝나면 다음 프로세스 작업을 수행해야 한다. 다음 프로세스가 어느 프로세스인지를 선택하는 알고리즘을 'CPU Scheduling' 알고리즘이라고 한다. CPU 스케줄링은 크게 두 가지의 특징으로 나눌 .. 더보기
[운영체제/OS] 프로세스와 스레드(Process and Thread)-PCB-Context Switch-Schedulers-Process Scheduling Queues-Process State- 컴도리돌이 outline Process Concept Process State Process Control Block-PCB Process Scheduling Queues Schedulers Threads Process creation and terminated Context Switch User and Kernel Threads Issue 프로세스(Process) 프로세스란 실제 메모리에 적재되어 프로세서에 의해 실행되고 있는 프로그램을 의미한다. 즉, 프로그램을 구동하였을 때, 프로그램 자체와 상태가 메모리 상에서 실행되는 작업의 단위를 지칭한다. 실행 중인 프로그램, 프로그램이 실행되는데 필요한 모든 것들을 저장하는 자료구조의 실체. 1) 메모리의 프로세스(Process in Memory) 텍스트(text s.. 더보기
[운영체제/OS] Operating System Overview - 컴도리돌이 운영체제의 주요 서비스는 하드웨어 자원을 각 사용자 애플리케이션에 적절히 분배해주는 것이다. 하드웨어 자원은 CPU, 메인 메모리, 입출력 장치 등이 존재하며, 이러한 하드웨어 자원을 사용자 애플리케이션이 요구하거나 운영체제 내의 규칙에 의해 적절히 분배하여 컴퓨터 성능을 최대한 효율 적으로 사용해야 한다. 운영체제 내에서는 각 하드웨어를 관리하는 기능 프로세스 관리(Process Management) 기억 장치 관리(Memory Management) 저장 공간 관리(Storage Management) 입출력 장치 관리(I/O deviece Management) 시스템 콜(System Call) 운영체제 정의(Operating System Definition) 사용자가 응용 프로그램을 실행할 수 있는 기.. 더보기
[마이크로프로세서] Ch.8 Hardware Connection - 컴도리돌이 Outline 1.Pin Description 2.Intel HEX file Pin Description Pin Layout ->전체 40 pin을 갖고 있다. ->입출력 포트(port)로 32 pin이 사용된다. ->나머지 8 pin은 VCC, GND, XTAL1, XTAL2, RST, EA, PSEN, ALE가 있다. VCC(40핀) -> 칩에 VCC 전압(5V)을 공급한다. -> +5V 전원 GND(20핀) ->Ground 클럭 : XTAL1/ XTAL2 (19,18핀) ->단순한 크리스털 발진기를 XTAL1과 XTAL2에 연결 ->외부에서 발진 클럭을 XTAL1에만 공급 RST(Reset, input pin) ->Active high : 리셋 시 1을 입력 CPU 동작 시 적어도 2 머신 사이클 .. 더보기
[마이크로프로세서] Ch.3 Jump, Loop, and Call - 컴도리돌이 Outline 1.Loop and Jump Instructions 2.Call instructions 3.Time delay Loop and Jump Instructions Loop : DJNZ (decrease jump not zero) - Conditional Jump Instructions DJNZ reg, label ->DJNZ는 레지스터의 값을 1 감소한다. 만일 초기 값이 0이면, 그 값을 감소하여 FFH로 만든다. 만일 결과의 레지스터 값이 0이 아니면 프로그램은 상대 주소에 의해 지시되는 주소로 분기한다. 만일 레지스터의 결과 값이 0이면, 제어는 DJNZ 다음의 명령에서 계속된다. MOV A, #0 MOV R2, #4 AGAIN: ADD A, #03 DJNZ R2, AGAIN ; reg:.. 더보기
[마이크로프로세서] Ch.2 어셈블리 언어 프로그래밍(Assembly language programming) - 컴도리돌이 Outline 1.inside 8051 2.introduction to assembly programming 3.program counter and rom space 4.psw register and flag bits 5.register bank and stack inside 8051 inside 8051 : block diagram -8051 내부에 있는 ROM은 프로그램 코드가 저장되어 있다. -8051 내부에 있는 RAM에는 임시적인 데이터가 저장되어 있다. -8051 내부에 있는 CPU는 RAM에 저장되어 있는 임시적인 데이터(temporary data)를 가져와 ROM에 저장되어 있는 코드를 실행한다. -8051 내부에 있는 입출력 포트(I/O PORTS)는 8bit로 4개의 포트가 존재한다. .. 더보기