본문 바로가기

CPU2

우분투 리눅스 - 배경 지식 / 운영체제, CPU 구조 / 파이프 라이닝의 이해 안녕하세요 이번 글은 운영체제에 대한 내용을 요약하였습니다. 우분투 리눅스 카테고리에는 우분투 리눅스에 관한 내용을 연재할 예정입니다. 이번 글은 우분투 리눅스를 공부하시기 전에 배경 지식으로 읽으시면 좋을 것이라고 생각됩니다. 폰 노이만 아키텍쳐 프로그램 내장 방식 애니악의 배선 교체는 엄청난 비용을 초래한다 하드웨어의 구성은 고정으로 하고 프로그램은 메모리에 적재되어 실행되어야 한다 CPU의 기능 Fetch (인출) : 메모리 상의 프로그램 카운터가 가리키는 명령어를 CPU로 인출하여 적재한다 Decode (해석) : 명령어의 해석 , 이 단계에서 명령어의 종류와 타겟등을 판단한다 Execute (실행) : 해석된 명령어에 따라 데이터에 대한 연산을 수행한다 Writeback (쓰기) : 명령어대로 .. 2017. 11. 9.
자바 스레드 레이스 컨디션 예제 / java thread race condition example 안녕하세요 이번 글에서는 스레드 레이스 컨디션의 이해를 돕는 예제에 대해서 알아보도록 하겠습니다 레이스 컨디션 멀티 스레드 프로그래밍에서 발생하는 문제로 여러 스레드가 다수의 리소스를 경쟁적으로 업데이트 하면 예측 불가능한 데이터 문제가 발생하는 것을 말한다 출처: http://fors.tistory.com/143 [fors] 예제는 1개의 은행 계좌를 가지고 두 명의 사람이 동시에 입 출금을 진행하는 예제입니다. 여기서 두 명의 사람은 두 개의 스레드에 해당합니다. 코드는 다음과 같습니다 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 public class User implements Runnable{ private BankAccount ac.. 2017. 10. 25.