일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- html/css/js
- LinkSnap
- 부트캠프
- 자바스크립트
- BFS
- CS
- 컴퓨터과학
- 컴퓨터공학
- github
- 코딩테스트
- 호이스팅
- 그리디
- 백준
- CSS
- 알고리즘
- 프론트엔드개발자
- nodejs
- DFS
- KAKAO
- 패스트캠퍼스
- 국비지원취업
- 야놀자
- cpu
- 너비우선탐색
- computerscience
- 국비지원
- Javascript
- js
- git
- 코테
- Today
- Total
목록Computer Basics (33)
My Boundary As Much As I Experienced
IPC(Inter Process Communication) 프로세스 간 통신(Inter-Process Communication, IPC)이란 프로세스들 사이에 서로 데이터를 주고받는 행위 또는 그에 대한 방법이나 경로를 뜻한다. 프로세스는 독립적으로 실행된다. 즉, 독립 되어있다는 것은 다른 프로세스에게 영향을 받지 않는다고 말할 수 있다. (스레드는 프로세스 안에서 자원을 공유하므로 영향을 받는다) 이런 독립적 구조를 가진 프로세스 간의 통신을 해야 하는 상황이 있을 것이다. 이를 가능하도록 해주는 것이 바로 IPC 통신이다. 프로세스는 커널이 제공하는 IPC 설비를 이용해 프로세스간 통신을 할 수 있게 된다. 커널이란? 커널은 운영체제 중 항상 메모리에 올라가 있는 운영체제의 핵심 부분으로써 하드웨어..
Process Management CPU가 프로세스가 여러개일 때, CPU 스케줄링을 통해 관리하는 것을 말함 PCB(Process Control Block) 프로세스들의 메타데이터를 저장하는 곳. PCB(Process Control Block)는 특정 프로세스에 대한 정보를 담고 있는 자료구조입니다. 운영체제는 PCB에 담긴 프로세스 정보를 이용하여 프로세스를 관리/제어합니다. 프로그램이 실행되어 메모리에 적재됐을 때 프로세스가 생겨나고, 프로세스 주소 공간에 코드&데이터&스택 공간이 생성됩니다. 이후 해당 프로세스의 메타데이터들이 PCB 에 저장된다. (Linked List 방식으로 관리함) 프로그램 실행 → 프로세스 생성 → 프로세스 주소 공간에 (코드, 데이터, 스택) 생성 → 이 프로세스의 메타..
시스템 콜(System Call)이란? 사용자 프로그램이 디스크 파일을 접근하거나 화면에 결과를 출력하는 등의 작업이 필요한 경우, 즉 사용자 프로그램이 특권 명령의 수행을 필요로 하는 경우, 운영체제에게 특권 명령의 대행을 요청하는 것이 시스템 콜이다. (커널 모드의 명령을 사용자 모드에서 명령으로 할 수 있게 해주는 것이다.) SUDO 아닌가? 아님 시스템 콜의 유형 시스템 콜은 다섯 가지의 중요한 범주로 나눌 수 있다. 프로세스 제어, 파일 조작, 장치 조작, 정보 유지보수, 통신과 보호. 여기서는 각 범주들에 어떠한 기능들이 있는지만 간략하게 살펴본다. (자세한 내용을 알고 싶으면 홍릉과학출판사의 Operating System Concepts 8th Edition, 64page 부터 참고하길 바란..
인터럽트(Interrupt)란? 인터럽트란 CPU가 특정 기능을 수행하는 도중에 급하게 다른 일을 처리하고자 할 때 발생한다. 지금 수행 중인 일보다 더 중요한 일(ex. 입출력, 우선 순위 연산 등)이 발생하면 그 일을 먼저 처리하고 나서 하던 일을 계속해야한다. 인터럽트의 종류 외부 인터럽트 전원 이상 인터럽트: 정전이나 전원이 이상이 있는 경우 기계 고장 인터럽트: CPU등의 기능적인 동작 오류가 발생한 경우 외부 신호 인터럽트(External interrupt) 타이머가 끝난 경우 키보드로 인터럽트 키를 누른 경우 : 대표적으로 Control + Alt + Delete 외부장치에서 인터럽트 요청이 있는 경우 입출력 인터럽트(I/O Interrupt): 입출력의 종료 등의 이유로 CPU의 수행을 요..
운영체제란? 운영체제(Operating System)는 컴퓨터 시스템의 자원들을 효율적으로 관리하며 컴퓨터 사용자와 컴퓨터 하드웨어 간의 인터페이스로서 동작하는 시스템입니다. 여러 응용프로그램이 유용한 작업을 할 수 있도록 환경을 제공해 줍니다. (종류로는 Windows, Linux, UNIX, MS-DOS 등이 있으며, 시스템의 역할 구분에 따라 각각 용이점이 있습니다.) 운영체제의 성능 척도 처리능력 : 운영체제는 시스템의 생산성을 나타내는 단위로, 일정 시간 동안 처리하는 일의 양을 의미합니다. 응답시간 : 작업 의뢰 후 시스템에서 결과가 얻어질 때까지의 시간 신뢰도 : 주어진 문제를 얼마나 정확하는가에 대한 정도 사용가능도 : 시스템을 얼마나 빠르게 사용할 수 있는가에 대한 정도 운영체제의 기능 ..
ARM Processor란? 임베디드 기기(music players, smartphones, wearables, tablets)에 사용되는 소형 컴퓨팅 시스템. - 메모리, 인터페이스, 라디오, 시스템 온 칩, 시스템 온 모듈 등이 포함된다. - 주로 32bit 프로세서 - RISC 아키텍처가 있는 프로세서이다. 이러한 특성은 스마트폰, 랩탑, 태블릿, 기타 임베디드 시스템과 같은 가볍고 휴대가능한 베터리 전원 장치에 바람직하지만 서버와 데스크탑에도 어느정도 유용하다. - 스마트폰에서 CPU역할을 하는 AP (Application Processor)가 널리 보급되며 인지도가 올라갔다. RISC : Reduced Instruction Set Computing (감소된 명령 집합 컴퓨팅)란? 1980년대, ..
패리티 비트란? 패리티 비트(Parity Bit)는 정보 전달 과정에서 오류가 생겼는 지 검사하기 위해 추가하는 비트를 말한다. 즉, 오류 검출을 위해 전송하고자 하는 데이터의 끝에 1비트를 더하여 전송하는 방법이다. (1바이트(8비트) 구조에서 피리티 비트는 7비트 크기의 ASCII 코드를 제외한 나머지 1비트이다.) 120이라는 수가 있다고 해보자 실수로 맨 앞의 1이 소실 되면 56으로 읽힌다. 이걸 방지하기 위해 1의 갯수가 몇 개 였는지 확인하는 패리티비트를 만들어 1bit 할당한다. 짝수면 0, 홀수면 1 을 할당한다. 그러면 1bit 정도 손실되어도 예측가능하다. (패리티 비트가 짝수라고 했으니 손실된 데이터는 1이겠지? 식으로) 데이터 송수신 과정에서 일어날 수 있는 데이터 손실을 어느 정..
고정소수점(Fixed point) 부동소수점(Floating point) 움직이지 않고 고정된 소수점을 말한다. 고정되지 않고 움직이는 소수점을 뜻한다. 고정 소수점의 표현 방식 고정 소수점의 경우 정수부분와 소수부분으로 나누기에 정수부분이 일정 자릿수보다 큰 수는 다룰 수 없게 된다. 32비트의 경우, 정수 부분이 8비트가 넘어가는 수는 다룰 수 없게 되는 것이다. => 그냥 정직하게 이진수로 저장하는 듯...? 부동 소수점의 표현 방식 하지만 부동소수점은 정수, 소수 대신 가수,지수로 다루기에 정수 부분이 8비트가 넘어가는 큰 수도 다룰 수 있다. 예를 들어, 1111101011.101이라는 수를 1.111101011101×2^9로 정규화하여 충분히 32비트 안에 표현할 수 있기 때문이다. 이와 같은..
컴퓨터 시스템의 성능을 향상시키기 위해 별도로 탑재된 캐시 전용 메모리. 프로그램에서 직접적으로 읽거나 쓸 수 없고 하드웨어의 메모리 관리 시스템이 내부적으로 제어한다. RAM과 CPU를 잇는 중간자적인 메모리 역할을 한다. 캐시메모리의 구성 CPU 하나 당 캐시메모리가 2~3개 정도 사용된다. 듀얼코어의 경우 각 코어 당 하나의 L1 캐시 메모리를 가지고 있으며, 두 코어가 공유하는 L2 캐시메모리를 사용한다. L1 : CPU 내부에 존재 L2 : CPU와 RAM 사이에 존재. 용량이 크고, 크기를 위해 L1 캐시처럼 나누지 않는다. L3 : 보통 메인보드에 존재한다고 함. 여러 코어가 공유하는 캐시. 작동 원리: 데이터 지역성 시간 지역성은 최근 접근한 데이터에 다시 접근하는 경향을 말한다. 가령 f..
특수 목적 레지스터 MAR(메모리 주소 레지스터) : 읽기와 쓰기 연산을 수행할 주기억장치 주소 저장 PC(프로그램 카운터) : 다음에 수행할 명령어 주소 저장 IR(명령어 레지스터) : 현재 실행 중인 명령어 저장 MBR(메모리 버퍼 레지스터) : 주기억장치에서 읽어온 데이터 or 저장할 데이터 임시 저장 AC(누산기) : 연산 결과 임시 저장 앞선 포스팅에서 다룬 레지스터는 이렇게 여러 종류의 특수 목적 레지스터가 있다. 명령어를 처리하는 사이클을 설명하는데에 필수적인 요소들 명령어 세트 CPU가 실행할 명령어의 집합을 말함. 프로그램을 돌릴 때 발생 연산 코드(Operation Code) + 피연산자(Operand)로 되어있음. 연산 코드(Operation Code) 실행할 연산 연산, 제어, 데이..