
📌 단일 스레드와 멀티 스레드 1. 스레드 (Thread) - CPU 활용의 기본 단위. - 프로세스 내에서 프로그램 명령을 실행하는 기본 단위 - 스레드 ID, 프로그램 카운터, 레지스터 집합, 스택으로 구성. - 같은 프로세스에 속한 다른 스레드와 코드, 데이터 세션, open files 등의 운영체제 자원을 공유. 2. 단일 스레드 (Single Thread) - 프로세스 내에 제어 스레드가 1개. - 1개의 레지스터, 1개의 스택. [ 장점 ] - 자원을 공용화하지 않으므로 공용 자원 접근 통제가 불필요하다. - 콘텍스트 스위칭 작업 불필요하다. (순수한 오버헤드가 불필요) [ 단점 ] - 다수개의 CPU 활용이 불가능하다. ex. 워드 프로세스 작업할 때 키보드작업하거나 문법 체크하거나 모두 스..

📌 소켓 통신 소켓? - 커뮤니케이션을 하기 위한 통신의 극점 (end point) - IP 주소 및 Port 번호를 조합하여 식별 [ 서버 - 클라이언트 아키텍처를 사용 ] -> 서버는 특정 포트를 listen 하면서 클라이언트 요청에 대기 -> 요청을 받으면, 서버는 클라이언트 소켓으로부터 연결 요청을 수락함으로써 연결 완성. 📌 MSA? 마이크로 서비스 아키텍처 쉽게 말해서 자잘하게 서비스별로 아키텍쳐 구조로 잡고 모여 만든 큰 서비스 아키텍처 문제는 서로 다른 언어들(java, c, python 같은)로 만든 서비스들을 어떻게 한 서비스로 통합(연결) 하지? -> 소켓 통신한다면 하나하나 규격 맞춰야함 -> 불편함 -> 언어에 구애받지 않고 편하게 하나의 프로시저를 호출하자. -> 그 프로시저가 ..

📌 프로세스 간 통신 💡 목표 공유 메모리와 메시지 전달을 통한 프로세스 간 통신에 대해 이해하고 비교할 수 있다. 💡 개념 프로세스들은 독립적이거나 혹은 협력적인데, 협력 프로세스는 데이터 공유를 포함하여, 프로세스들에게 영향을 주거나 받음. 협력을 허용하는 환경을 제공하는 이유는 ✔️ 정보를 공유할 수 있고, ✔️ 계산을 가속화할 수 있으며, ✔️ 모듈 형태로 프로세스를 구성할 때 필요할 수 있고, ✔️ 개별 사용자들이 여러 프로세스들을 작업할 때 편리하게 활용할 수 있기 때문이다. 💡 IPC의 모델들 | (Inter Process Communication, IPC) : 프로세스들간의 통신 a) 공유 메모리 shared memory b) 메시지 전달 1. 공유 메모리 통신하는 프로세스들이 공유 메모리..

📌 프로세스의 연산 실행되는 동안 프로세스들은 여러개의 프로세스들을 생성한다. 이 때 생성하는 주체는 부모 프로세스, 새로운 프로세스는 자식 프로세스이다. 대부분의 운영체제는 고유의 프로세스 식별자 (pid)를 사용하여 프로세스를 구분한다. 프로세스가 자식 프로세스를 생성할 때 - 자식 프로세스는 운영체제에게 자원을 직접 얻을 수 있다. - 혹은 부모 프로세스가 가진 자원의 부분 집합만을 사용하도록 제한 -> 자바의 상속같은..! 프로세스가 새로운 프로세스를 생성할 때 - 부모 프로세스는 자식 프로세스와 동시에 실행. - 혹은 부모 프로세스는 자식 프로세스 전부/일부가 종료될 때까지 대기 📝 프로세스의 생성 흐름 1) fork() 시스템 콜로 새로운 프로세스(자식) 생성. (프로세스 혼자만으론 자식 프로..

📌 프로세스 📝 프로세스란? - 실행중인 프로그램. - 디스크에 저장된 실행 파일이 메모리에 적재될 때 비로소 프로세스가 된다. 📝 메모리 상에서의 프로세스 (프로세스의 주소 공간) 프로세스의 주소 공간은 크게 4 세션으로 구분된다. 텍스트 세션 : 실행코드 데이터 세션 : 전역 변수 힙 세션 : 프로그램 실행 시 동적으로 할당되는 메모리 스택 세션 : 함수 호출 시 임시 데이터 저장 (함수 매개변수, 반환 주소, 지역 변수) 💡 힙 영역 ? Heap 사용자가 관리할 수 있는, 관리해야하는 힙 영역. ex. 대용량 다운로드 사례가 발생하면,heap 영역에서 개발자는 메모리 영역을 크게 설정하여 OOM(out of memory)를 막을 수있음. 📝 프로세스 상태 별 설명 new : 프로세스 생성 중 run..

📌 운영체제의 서비스들 📝 사용자 편의성 1. 유저 인터페이스 (GUl / CLI /터치 스크린) 2. 프로그램 실행 3. I/O 수행 4. 파일 시스템 조작 5. 통신 - 동일하거나 다른 컴퓨터 시스템의 프로세스 사이의 통신 가능하게 함. 📝 효율적인 시스템 6. 리소스 할당 - 다수개의 사용자 혹은 일을 처리할 때, 각각의 리소스에게 적당한 할당을 진행. 7. 로깅 - 어떤 프로그램이 얼마나 많은/ 어떤 종류의 컴퓨터 자원을 사용했는지 계속 추적. 8. 보호와 보안 - 다수 사용자나 네트워크 구성된 시스템이 동시 처리시 서로 방해되지 않도록 함. 📌 운영체제의 동작 - 시스템 콜 (호출) 시스템 콜이란? 운영체제에 일을 요청하고 싶을 때 요청하는 방법, 수단 듀얼 모드 (커널 모드 + 사용자 모드) ..

1. 운영체제 (Operating System) 일반 컴퓨터나 노트북 전원을 키면 가장 먼저 만나게 되는 소프트웨어 필요성 1) 컴퓨터는 운영체제 없이 작동할까? 가능함. 2) 운영체제 있는 기계와 없는 기계의 차이는? * OS 없는 기계 만들 당시 구현한 기능만을 수행 *OS 있는 기계 컴퓨터 시스템을 사용하기 쉽게하고, 효율적으로 사용할 수 있도록 함. 정의 커널 + 시스템 프로그램 커널 : 컴퓨터에서 항상 실행되는 하나의 프로그램 시스템 프로그램 : 모든 프로그램을 포함한, 시스템 운영과 관련있는 운영 프로그램. 운영체제는 리소스 할당의 주체. - 모든 리소스를 관리하고 - 자원에 대한 충돌되는 요청 사이에서 리소스를 효율적으로 분배함. 운영체제는 제어 프로그램임. - 프로그램을 제어하고 오류 및 ..

1. 조인이란? 2개 이상 테이블을 엮어 하나의 결과물로 만드는 것. 조인 연산은 2개의 테이블로 일어나므로, 3개의 테이블을 조인연산 하고 싶다면 A,B,C 테이블이 있을 때, A와 B 테이블을 조인 연산한 결과물을 C 테이블과 조인연산 하면 된다. 1) Inner Join 왼쪽 테이블과 오른쪽 테이블의 두 행이 모두 일치하는 행이 있는 부분만 표기하는 조인으로, EQUI JOIN과 NON-EQUI JOIN이 있다. - EQUI JOIN 공통 속성을 기준으로 '=' (equal) 한 값을 가지는 행들만 연결하여 결과를 생성하는 방법. 조인 조건이 '=' 일때, 동일한 속성이 두번 나타나게 되는데, 이 중 중복된 속성을 제거하여 같은 속성을 한번만 표기하는 방법이 natural join이다. < wher..
- Total
- Today
- Yesterday
- 부트캠프
- 그룹스터디워크샵
- qjzl
- 야놀자
- 자료구조
- be
- 커리어멘토링
- boj
- 그룹스터디
- TiL
- 백엔드부트캠프
- 과정중간회고
- 야놀자X패스트캠퍼스부트캠프
- 국비지원
- 데이터베이스
- 백준
- 카카오API
- 패스트캠퍼스
- 국비지원캠프
- 스터디후기
- 채팅기능개발
- 패스트캠퍼스강의
- Java
- springboot
- #국비지원취업
- 자료구조 #스택 #큐 #덱 #선형자료구조
- 백엔드
- 국비지원취업
- 프로젝트후기
- 백엔드개발자
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |