일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 플라스크
- AWS
- 패스트캠퍼스
- React
- git
- js
- 전문가를위한파이썬
- 코테
- 파이콘코리아
- 리액트
- 코드프레소
- Python
- mongodb
- 예리님
- codepresso
- 파이썬
- 원티드
- 환경변수
- 위코드
- fluentpython
- env
- 프리온보딩
- pyladiesseoul
- 깃
- pyladies
- cleancode
- 네트워크
- 알고리즘
- flask
- javascript
- Today
- Total
목록Computer Science (8)
개발자가 내팔자
네트워크를 공부해보자 원래는 '성공과 실패를 결정하는 1% 네트워크 원리'라는 책인데 너무 길어서 '1% 네트워크 원리'라고 하겠다. 검색 창에 url을 치면 어떤 일이 일어나는지를 순차적으로 따라가면서 설명하는 책인데, 기록하면서 보면 좋을 것 같아 글로 남겨두려고 한다. (면접에도 자주 나오는 질문이긴 함) 브라우저에 URL을 치면 무슨 일이 일어나나요? url을 치면 DNS 서버로 가서 IP를 얻어온다. 인간이 일일이 IP를 기억하기 쉽지 않고, domain name으로 하자니 비효율적이라 DNS라는 걸 따로 만든 것이다. 브라우저가 직접 DNS에 전송하는 것이 아니고, Socket library에서 제공하는 resolver api를 호출하여 이를 통해 OS에게 LAN을 통해 DNS 서버에 조회 메..
1-1 데이터 모델의 이해 모델링이란? => 현실세계를 추상화, 단순화, 명확화 하기 위해 일정한 표기법에 의해 표현하는 기법 모델링의 정의 복잡한 현실세계를 단순화 시켜 표현 사물 또는 사건에 관한 양상(Aspect)이나 관점(Perspective)을 연과노딘 사람이나 그들을 위해 명확하게 하는 것 현실 세계의 추상화된 반영 모델링의 특징 추상화(모형화, 가설적) : 현실세계를 일정한 형식에 맞추어 표현한다는 의미 단순화 : 복잡한 현실세계를 약속된 규약에 의해 제한된 표기법이나 언어로 표현 명확화 : 누구나 이해하기 쉽게 하기 위해 대상에 대한 애매모호함을 제거하고 정확하게 현상을 기술 모델링의 세가지 관점 데이터 관점 (Data, What) : 업무가 어떤 데이터와 관련이 있는지, 데이터 간의 관계..
interrupt가 발생하면 CPU는 하던 일을 중지하고 device interrupt service routine을 실행시킴. Hardware interrupt 인터럽트 결과 운영체제 내의 특정 코드 실행 (ISR) Interrupt Service Routine 종료 후 다시 대기 Software Interrupt 사용자 프로그램이 실해오디면서 소프트웨어 인터럽트 (운영체제 서비스 사용을 위해) Interrupt 결과 운영체제 내의 특정 코드 실행 (ISR) ISR 종료 후 다시 사용자 프로그램으로 interrupt based OS OS는 평소에는 대기상태 Hardware Interrupt에 의해 OS code (ISR) 실행 Software Interrupt에 의해 OS code (ISR) 실행 In..
다중 프로세서 시스템 (Multiprocessor System) 병렬 시스템 (parallel system) 강결합 시스템 (tightly-coupled system) : 메인메모리를 공유 3가지 장점: perfomance, cost, reliablitiy 다중 프로세서 운영체제 (Multiprocessor OS) : 학부에서는 여기까지 배우진 않음 리눅스도 지원 분산 시스템 (Distributed System) 다중 컴퓨터 시스템 (multi-computer system) 소결합 시스템 (loosely-coupled system) 분산 운영체제 (Distributed OS) 하나가 죽어도 다른 애들은 살아있기 때문에 신뢰성을 보장 실시간 시스템 (Real-time system) 시간 제약 : Deadl..
No OS 1940년대 말~ 1950년대 천공카드로 거슬러 올라간다.. 일반인들은 사용하기 어렵기 때문에 Operator가 따로 있었음 종이에 프로그래밍된 것을 적어주면 그걸 받아 카드에 구멍을 뚫음 그래서 이걸 메모리에 적재시킴 컴파일러도 메모리에 올려서 카드를 번역하여 기계어가 나옴 그 기계어가 프린터에 찍힘 (아주 시끄러움) Batch Processing System (일괄 처리) redisnet monitor Operator가 하는 일을 줄이기 위해 최초의 OS를 만듦 컴파일 -> 링킹 -> 로드 일련의 일을 하는 프로그램을 애초에 메모리에 올려두고 자동화를 한 것 Multi Programming System (다중 프로그래밍) 반도체가 아니라 진공관이었는데 트랜지스터 같은 게 나오면서 메모리가 ..
수업을 들으며 기억하고 싶은 내용들을 필기 Memory Ram : Main Memory ROM (Read Only Memory) POST (Power On Start Test) Boot Loader OS를 Resident라고 하기도 한다. 메인 메모리에 항상 올라와있기 때문 OS가 없는 컴퓨터는 야생마와도 같다. OS의 구성 kernal : 핵심, 핵, 알맹이 command interpreter, shell : 껍질 ls / who / df (disk free) 등의 리눅스 명령어 우리는 단지 껍데기만 알고 있을 뿐, 앞으로는 알맹이에 대해 알아볼 예정이다. 운영체제의 역할 운영체제는 정부와도 비슷 Process Management * Memory Management * IO Management File..
Part One : Overview OS는 사용자와 컴퓨터 하드웨어 사이의 intermediary(중개인)처럼 행동한다. OS의 목적은 사용자가 프로그램을 편하고 효율적으로 실행할 수 있는 환경을 제공해준다. OS는 컴퓨터 하드웨어를 관리하는 소프트웨어다. OS는 크고 복잡하기 때문에 기능 하나하나가 분리되어 있어야 한다. Chapter 1 Introduction OS는 컴퓨터 하드웨어를 관리하는 소프트웨어다. 사용자와 컴퓨터 하드웨어 사이의 중개인 역할을 한다. OS 생태계를 이해하기 위해서는 CPU, memory, I/O devices, storage 등의 컴퓨터 구조에 대해 먼저 알아야 할 필요가 있다. 가장 중요한 OS의 책임은 이러한 리소스를 프로그램에 적절하게 할당하는 것이다. 이 챕터의 목표..
OS 스터디를 한 지도 오래 되었고, 오랫동안 한 번 쯤은 이 책을 정복해보고 싶었기 때문에 오늘 갑자기 목차부터 둘러보기로 했다. 이 책은 총 열가지 주요 파트로 구성되어 있다. Overview Chapter 1 ~ 2로 구성되어 있다. 대충 OS 개론 같은 느낌 Process Management Chapter 3 ~ 5로 구성. 프로세스의 개념과 동시성을 다룬다. Process synchronization Chapter 6 ~ 8로 구성. 프로세스 동기화와 데드락을 다룬다. Memory management Chapter 9 ~ 10로 구성. 프로세스 실행 중 메인 메모리 관리를 다룬다. Storage management Chapter 11 ~ 12로 구성. 커다란 storage와 IO를 현대 컴퓨터 ..