일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 계명대
- hokeys
- 비동기
- 자바스크립트 자료구조
- SWIFT
- javascript
- 이종호
- 호키스
- IOS
- HTML
- queue
- hokidoki
- react
- 호키도키
- 개발
- 자료구조
- 자스민
- 힛잇
- 리액트
- 자바스크립트
- data structure
- 스위프트
- TDD
- 계명대 이종호
- Hitit
- 개발자
- 리액트 예제
- Svelte
- 스벨트
- jest
- Today
- Total
목록컴퓨터 구조 (8)
Dog foot print
스레드 쓰레드란 ? 쓰레드(Thread)는 프로세스처럼프로세서를 사용하는 기본 단위이며, 프로그램을 실행하는 프로세스 내의 개체이다. 즉 명령어를 독립적으로 실행 할 수 있는 하나의 제어 흐름이다. 프로세스는 하나의 목적을 달성하기 위한 프로그램이라면, 스레드는 이 목적을 달성 하기 위해 실제로 작업을 실행하는 주체이다. 따라서 프로세스는 적어도 하나 이상의 쓰레드를 가지고 있으며, 둘 이상의 스레드를 가지는 프로세스를 멀티 스레드 프로세스라고 한다. (참고로 node.js는 단일 쓰레드를 가진다. ) 쓰레드의 상태 쓰레드는 다음과 같은 것들을 가지고 있다. 쓰레드 실행 시의 상태(실행, 준비 등) 실행 스택 지역 변수와 스레드의 특정데이터를 저장하기 위한 쓰레드 별 정적 저장소 프로세스의 다른 쓰레드가..
프로세스 프로세스는 프로세서와 전혀 다른 말이다. 착각하기 쉬우니 조심하도록 하자 프로세스 프로세스란 ? 위키백과에 따르면 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램을 말한다. 여기서 실행 중인 프로그램이란 디스크에 저장되고 있던 실행 가능한 프로그램이 메모리에 적재되어 운영체제의 제어를 받는 상태를 말한다. 여기서 프로세스는 우리가 사용하는 웹 브라우저, 음악 플레이어, 게임 등을 이야기 한다. 이런 프로세스가 2개 이상 실행되는 것을 멀티 프로세스라고 하며, 두개 이상의 작업을 하는 것을 멀티 태스킹이라고 한다. 프로세스의 자원 프로세스가 실행이 되어 프로그램의 역할을 수행하려면 프로세서(cpu)점유 시간과 메모리파일, 입출력장치 같은 자원이 필요한데, 자원은 프로세스가 생성되거나 실행될 때..
운영체제 (OS)란 컴퓨터 사용자들은 복잡한 하드웨어의 제어 보다는 컴퓨터 응용프로그램으로 문제를 해결하는 것에 더 관심있기에, 복잡한 컴퓨터 자원을 할당하는 무언가가 컴퓨터 사용자들의 소프트 웨어 활용을 도와야 한다. 이것이 운영체제이다. Operating System 줄여서 OS라고 불리는 운영체제는 우리가 흔히들 쓰는 맥OS, 윈도우OS, 리눅스OS등이 있는데, 이 OS들은 사용자가 컴퓨터를 쉽게 사용 할 수 있도록 하드웨어(자원)을 관리하고, 응용프로그램을 실행할 수 있도록 기반 환경을 제공한다. 운영체제의 역할 OS는 시스템을 운영하여 하드웨어 , 소프트웨어 데이터를 적절하게 사용할 수 있도록 제어한다. 컴퓨터가 문제를 해결하는 데 필요한 자원(프로세서 시간, 메모리 공간, 파일 저장 공간, 입..
인터럽트 Interrrupt 인터럽트란 프로그램을 수행 중 다른 명령이 먼저 수행되도록 하는 시스템 동작이다. 농구용어 intercept 라는 단어 처럼 기존 실행하던 명령어 순서를 빼앗고 새치기하는 형태의 명령 수행으로 기억하면 좋을 듯하다. 인터럽트 서비스 루틴 ISR : interrupt service toutine ISR은 인터럽트 접수에 의해 발생되는 인터럽트에 대응하여 특정 기능을 처리하는 기계어 코드 루틴이다. -위키백과 https://ko.wikipedia.org/wiki/인터럽트_핸들러 인터럽트가 발생되면 본인의 컴퓨터가 설정한 ISR을 완료 하고 종료 후 기존에 실행하다 중지된 명령어 부터 다시 실행한다. 인터럽트 실행시 CPU의 동작 현재 중지된 명령어의 주소를 메모리의 Stack에 ..
cpu는 프로그램에 필요한 연산을 수행하고 필요한 연산에 따라 다른 장치들에게 명령을 내리는 장치이다. 이 cpu는 명령어 인출과 명령어 실행 작업을 반복하며 명령어를 해독하고 , 명령어에 맞게 메모리에서 데이터를 가져온 다음 데이터를 가공하여 저장한다. CPU의 내부구조 위에 있는 작은 cpu의 뚜껑을 열어보면 다음과 같이 생겼다. 저 작은 cpu안에 산술을 하는 장치와 레지스터, 제어유니트가 있는데, 정말 작은 모듈들이라 사진은 없다. 산술논리연산장치(Arithmetic and Logical Unit) 줄여서 ALU라고 불리는 이것은 각종 산술(+ - * /)과 논리연산(and, or, nor, xor등)을 수행하는 모듈이다. 이 ALU는 여러 레지스터와 내부장치들로 이루어져있는데, 다음 링크된 블로..
컴퓨터의 기능 컴퓨터의 5대기능이라고 말하는 것들이 있다. 입력기능 : 외부에서 데이터를 컴퓨터를 입력하는 행위 연산기능 : CPU가 데이터를 프로그램 코드에 따라 연산 및 가공하는 행위 출력기능 : 모니터나, 프린터등 출력기기에 cpu가 연산한 데이터를 보여주는 행위 저장기능 : 가공할 데이터 ,가공한 데이터를 메모리나 보조기억장치에 저장하는 행위 제어기능 : 여러 장치들이 순서대로, 실행될 수 있도록 또는 필요에 따라 실행 순서를 변경하도록 조정하며, 각종 제어 신호들을 발생하는 행위 위에는 인터넷에서 컴퓨터의 기능이라고 검색하면 일반적으로 나오는 것들인데, 학교에서 가르쳐준 기능 5개와는 조금 다르다. 프로그램 실행 : CPU가 주기억장치로부터 프로그램 코드를 읽어서 실행 데이터 저장 : 프로그램 ..
오늘은 CPU와 기억장치, I/O device들은 어떻게 정보를 교환하는지에 대해서 알아보도록 하겠다. 시스템 버스 시스템 버스란 CPU와 시스템 내 다른 요소들 사이에 정보를 교환하려는 통로이다. 예를 들어 int result = 10 + 10; 라는 수식을 작성하게 되면 cpu에서는 해당 식을 계산하여 result 변수가 있는 메모리에 20이라는 수를 저장하게 되고 printf("%d", result)를 하면 모니터에 출력되게 된다. 이 처럼 cpu와 다른 부품들로 데이터와 주소를 전달하는 통로를 시스템 버스라고 한다. 이 시스템 버스는 전달하는 내용에 따라 주소버스, 데이터버스, 제어버스로 나뉜다. 주소버스 (address bus) 주소버스는 일정한 메모리 번지를 찾는데 사용되는 신호를 운반하는 버..
컴퓨터구조론을 수업을 수강하면서 미리 1장을 읽어보았는데, 내가 매일 사용하던 컴퓨터의 구조와 역사를 접하니 조금 놀라웠다. 카테고리를 따로 만들 생각이 없었지만 내용이 워낙 방대하고 컴퓨터 구조론이 종강후에도 매우 큰 도움이 되리라 판단하여 시간 나는대로 꾸준히 포스팅을 할예정이다. 컴퓨터의 기능 컴퓨터는 데이터를 읽어서(read), 처리하고(processing), 저장(store)한다. read와 store는 단어만으로 충분히 설명 가능하지만 processing이라는 부분은 조금 익숙치 않을 수 있다. 우선 processing 은 process에서 파생된 말임을 알 수 있는데 프로세스는 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램을 말한다. 종종 스케줄링의 대상이 되는 작업과 같은 의미로 쓰인..