본문 바로가기

전체 글118

[OS] 메인 메모리 구조 -3 멀티 프로세싱과 멀티 스레딩을 공부하면서, 공유자원과 컨텍스트 스위칭 등 메모리와 관련된 내용이 많아 한번 정리하고자 한다. 이전 편에서 컴퓨터 시스템 구조 중 메인 메모리 부분이 있었다. 프로세스가 실행되기 위해선 리소스가 보조 메모리로 부터 메인 메모리에 할당되어야 하는데, 이는 CPU가 메인 메모리에만 직접 접근이 가능하기 때문이다. 메인 메모리는 아래와 같이 두가지로 구분할 수 있다. 메인 메모리 구분 메인 메모리 유저 영역, 커널 영역 2가지로 분리된다. 유저 영역: 일반 프로그램을 위한 메모리 영역 커널 영역: 운영체제를 위한 메모리 영역, 운영체제의 핵심인 커널이 위치하는 메모리 운영체제는 부팅과 동시에 메인 메모리에 할당되어 상주하는 최초의 프로그램이라고 했었다. 커널 영역은 이 운영체제가.. 2022. 5. 24.
Blocking, Non-blocking, Sync, Async I/O(Feat. IBM 논란) Blocking, Non-blocking, Sync, Async I/O가 뭘까?(Feat. IBM 논란) 프로젝트가 배포단계에 들어서면서 다음 단계로 시야를 돌려야 할 타이밍이 왔다. 운영단계를 공부할 때가 온것같다. 그래서 트래픽을 핸들링하는 방법들에 대해서 나름 조사하고 공부해 볼까한다. 내 프로젝트는 딱히 많은 트래픽이 몰리는 서비스는 아니지만 머신러닝작업도 보유하고있어서 서버 자체가 처리에 사용할 리소스가 많은 편이라 트래픽이 몰리는 상황엔 위험할수있다. 그래서 쉐도우 복싱 느낌이 있지만 대용량 트래픽을 대비해 어떤 노력을 해야하는지 알아보고자 한다. 때문에 지금 서버들이 어떤 방법으로 서버의 I/O를 핸들링 하고있는지 정리해볼것이다. 서버의 I/O는 서버로 오는 요청, 요청의 응답 과정 전반을 .. 2022. 5. 23.
CI/CD(feat. DevOps) 프로젝트 배포를 준비하면서 여러 자료를 찾아보다가 DevOps , CI/CD 라는 키워드를 자주 접했다. (지금 공부하고 있는 Docker에서도 CI 환경 구축이 포함되어있다.) 이전에 문서를 한번 읽어서 추상적인 느낌은 알고있었지만 정확한 정리가 한번은 필요하다고 생각해 CI/CD 시리즈의 시작으로 이 글을 포스트한다. DevOps 모델에 관한 설명은 https://aws.amazon.com/ko/devops/what-is-devops/ 여기를 참고하면 좋을것 같다. CI (Continuous Integration) CI는 Continuous Integration 즉, 지속적인 통합이라는 의미이다. 지속적인 통합이란, 어플리케이션의 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트 되어공유 레포지토리.. 2022. 5. 22.
[ORM 이전작업]기본 SQL 정리 SQL DDL(데이터 정의어) 명령어기능 CREATESCHEMA, DOMAIN, TABLE, VIEW, INDEX 정의ALTERTABLE에 대한 정의 변경DROPSCHEMA, DOMAIN, TABLE, VIEW, INDEX 삭제 DML(데이터 조작어) 명령어기능 SELECT테이블에서 조건에 맞는 튜플 검색INSERT테이블에 새로운 튜플 삽입DELETE테이블에서 조건에 맞는 튜플 삭제UPDATE데이블에서 조건에 맞는 튜플의 내용 변경 DCL(데이터 제어어) 명령어기능 COMMIT명령에 의해 수행된 결과를 실제 물리적 디스크로 저장, 작업이 정상적으로 완료되었음을 알림ROLLBACK데이터베이스 조작 작업이 비정상적으로 종료되었을 때 원래의 상태로 복구GRANT데이터베이스 사용자에게 사용자 권한 부여REVOK.. 2022. 4. 13.