일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- CSS 기초
- 우선순위큐
- K-MOOC
- 2차원배열정렬
- 해시
- 자바문자열구분
- 블록체인강의
- 자바입력받기
- 블록체인 강의
- K-MOOC 단국대학교 홍보단
- Node
- 디스크블록할당
- Entity
- 혁신의기술2:신뢰의미래 블록체인을 만나다
- 머신러닝
- 컴파일시스템
- 딥러닝
- national instruments
- 단국대학교 k-mooc
- TypeScript
- stringreader
- StringTokenizer
- 오블완
- biginteger사용법
- 티스토리챌린지
- 블록체인
- 자바스크립트
- html기초
- 자바
- 시스템프로그래밍
- Today
- Total
목록CS/OS (11)
열정 실천
메인 메모리는 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 안에 여러 개의 ..