| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- TypeScript
- Entity
- 자바스크립트
- StringTokenizer
- 티스토리챌린지
- 혁신의기술2:신뢰의미래 블록체인을 만나다
- 오블완
- 블록체인 강의
- national instruments
- 블록체인
- 딥러닝
- 자바
- CSS 기초
- 우선순위큐
- K-MOOC 단국대학교 홍보단
- 스타트업
- 자바문자열구분
- biginteger사용법
- 단국대학교 k-mooc
- 머신러닝
- 린스타트업
- 블록체인강의
- html기초
- AWS Cloud Practitioner Assential
- K-MOOC
- stringreader
- 컴파일시스템
- 2차원배열정렬
- 자바입력받기
- 디스크블록할당
- Today
- Total
목록CS/OS (12)
열정 실천
CPU부터 정리하고 들어가자! CPU = ALU(연산 장치) + 레지스터들 + 제어장치 + 내부 버스 레지스터란? CPU 내에서 데이터들을 기억하는 메모리 장치 레지스터 종류와 역할 PC = Program Counter : 다음에 실행할 명령어 주소IR = Instruction Register : 현재 실행 중인 명령어 MAR = Memory Address Register : 접근할 메모리 주소MDR = Memory Data Register : 메모리에서 읽거나 쓸 실제 데이터ACC = Accumulator : 연산 결과 저장 리눅스 명령어 총정리 feat.gpt ✨OS는 어떤 역할을 하나? 1️⃣ 자원 관리 (Resource Management) -> 공정성, 효율CPU, 메모리, 디스크 같은 ..
메인 메모리는 CPU가 직접 접근할 수 있는 유일한 Storage이다. int a = 0; (변수 - Symbolic)이렇게 변수명으로 선언된 값을 compileler를 거쳐 relocatable addresses 이되고 Linker, Loader를 거쳐 absolute addresses (실제 물리 주소)가 된다. CPU 안에 있는 레지스터인 Memory-Management Unit (MMU)는 가상 주소를 물리주소로 변환하는 역할을 한다. CPU 에서의 가상 주소를 Memory의 실제 주소에 바인딩하는 방법에는 1. continuous Memory Allocation2. Paging 3. Segmentation 이렇게 3가지 방법이 있다. 연속할당 Continuous Memory All..
파일 시스템은 데이터를 하드디스크, SSD, USB등 저장장치에 파일과 디렉터리로 조직화하여 저장하고 관리하는 방식이다. 각각의 파일에 대한 정보를 담고 있는 자료구조를 File Control Block이라고 하며 이는 리눅스에서 inode에 해당한다. - 블록 하나의 크기는 4KB- 블록을 가리키는 주소는 4bytes하나의 책임블럭이 가리킬 수 있는 블록의 수 4KB / 4 bytes = 2^10 = 1024개 보통 한 파일의 inode에서 direct blocks pointer는 10-15개가 존재한다. single indirect가 저장가능한 데이터 크기 : 4KB X 1024 = 4MBdouble indirect가 저장가능한 데이터 크기 : 4KB X 1024 X 1024 = 4GB tri..
UNIX 유닉스(Unix)는 1969년에 벨 연구소(Bell Labs)에서 개발된 다중 사용자 및 멀티태스킹을 지원하는 운영체제이다. 유닉스는 초기부터 강력한 보안성, 안정성, 이식성을 목표로 설계되었다. 윈도우를 제외한 모든( Linux, Ubuntu, MACOS ) 운영체제는 모두 Unix를 기반으로 만들어졌다. 우리가 이 Unix 커맨드를 공부해야하는 이유는.. 웹사이트 배포시 Nginx, Apache에서 유닉스 커맨드 사용서버 컴퓨터 사용시 유닉스 커맨드 사용백엔드 개발 시 데이터베이스 관리, 서버 운영, 배포 등에서 유닉스 커맨드 사용데이터 분석에서 대용량 데이터 처리와 텍스트 분석 작업을 유닉스 커맨드로 간편하게 처리 보안에서 네트워크 설정, 모니터링 및 문제 해결 작업을 유닉스 커맨드를..
Concurrency - 병행성을 만족시키기 위한 두 가지 작업 여러 프로세스가 번갈아가면서 실행되고, 하나의 프로세스 안에 또 여러 스레드가 번갈아 실행되면서 문제 없이 동시에 잘 실행 (병행성) 되기 위해서는 두 가지가 만족되어야 하는데, 바로 동기화와 상호배제이다. 동기화 (Synchronization) 는 여러 스레드사이에 순서 조건이 있을 때 순서를 지킬 수 있도록 하는 것이고(스레드 1은 스레드 2보다 항상 먼저 실행되어야 한다던가..), 상호배제 (mutual exclusion) 는 임계영영에 하나의 스레드만 진입할 수 있도록 하는 것이다. 상호배제가 뭐고 임계영역은 또 뭐냐고!? 🙄 자! 전역 변수 count가 있다고 치자. 같은 코드와 변수를 공유하는 두 개의 스레드는 count..
스케줄링이란? 하나의 CPU를 여러 프로세스가 번갈아 사용할 때, 어떤 프로세스에게 CPU를 줄 지를 결정하는 것이다. ready 상태에 있는 프로세스 중 하나를 선택하는 과정이다. 먼저 요청한 프로세스에게 줄 지, 우선 순위가 높은 프로세스에게 줄 지 다양한 스케줄링 기법이 존재한다! 스케줄링은 언제 발생하나? 1. running 중인 프로세스가 I/O 요청으로 waiting 상태로 전이될 때2. running 중인 프로세스가 time out으로 ready 상태로 전이될 때3. waiting하던 프로세스가 I/O Interrupt로 ready로 전이될 때 (우선순위가 높을 수 있으므로)4. running 중인 프로세스가 종료되었을때 선점형 스케쥴링 vs 비선점형 스케쥴링 (Preemptive v..
Thread 스레드 Thread는 프로그램이 실행되는 최소단위로 하나의 프로세스 안에 여러 개의 스레드가 존재할 수 있다. 하나의 프로세스 안에 있는 스레드들은 많은 정보를 공유하는데,, 우선 PCB, PCB는 하나의 프로세스에 해당하는 내용이기에 스레드마다 PCB가 존재하는 것이 아니다. 스레드는 각각의 PC와 register 값을 제외한 PCB 데이터는 모두 공유한다. 또한 스레드는 메모리 세그먼트 중 Stack을 제외한 모든 자원을 공유한다. 👇👇👇 (code, data, heap, files 공유) 멀티 프로세서와 멀티 스레드의 차이(Concurrency vs Parallelism) 멀티 프로세서는 CPU가 여러 개임을 뜻하고 멀티 스레드는 하나의 CPU 안에 여러 개의 ..
SSH : Secure SHell "원격 호스트에 접속하기 위해 사용되는 프로토콜" 네트워크상의 다른 컴퓨터에 로그인하여 명령을 실행하고 정보를 보고 받을 수 있도록 해주는 통신 프로토콜사용자가 접속에 사용하는 컴퓨터를 클라이언트, 접속하고자 하는 목적지 컴퓨터를 서버라고 한다. Shell 쉘 OS 커널과 사용자 간의 다리 역할로 사용자로부터 명령어를 받으면 그것을 해석하고 실행하는 역할을 한다. 우리가 윈도우에서 흔히 사용하는 cmd 창과 같은 것이다. ssh 사용 이유 - 사용자 및 자동화된 프로세스에 원격 접속 시 - 자동화된 파일 전송 시 - 원격 명령 실행 시 - 네트워크 인프라와 중요 시스템 관리 시👉 안전한 통신을 하기 위해 사용한다. 포트포워딩 내부 네트워크에 있는 특정 기기에 접..