컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층 편리한 환경제공 각각 독자적 컴퓨터에서 수행되는 것 같은 illusion을 제공 하드웨어를 직접 다루는 복잡한 부분을 운영체제가 대행컴퓨터 시스템의 자원(CPU,메
협의의 운영체제 (커널)운영체제의 핵심 부분으로 메모리에 상주하는 부분 광의의 운영체제 커널 뿐 아니라 각종 주변 시스템 유틸리티를 포함한 개념컴퓨터 시스템을 관리하는 전반적인 시스템(파일 복사 등)을 포함한 뜻자원을 효율적으로 관리하는 역할을 함 동시 작업 가능 여부
KOCW.이화여자대학교.반효경.운영체제위 강의를 바탕으로 학습 및 정리했습니다
KOCW.이화여자대학교.반효경.운영체제위 강의를 바탕으로 학습 및 정리했습니다 프로세스의 일생 기계어 실행 하거나 I/O 하거나 여기서 중요한 포인트 \- CPU를 오랫동안 쓰다가 I/O를 하는지 \- 중간 중간 I/O가 많이 끼어들어서 CPU연속적으로 쓰
데이터 읽기 -> 연산 -> 데이터 저장 및 사용Shared memory를 써야만 할 때 중간에 CPU가 뺐기더라도 문제가 생기지 않게 코딩해야함\-> Process Synchronization와 관련된 테크닉예를 들어, 커널의 데이터를 건드리는 와중에 CPU가 다른
Bounded-Buffer Problem (Producer-Consumer Problem)Readers and Writers ProblemDining-Philosophers ProblemP : 공유데이터 획득하는 과정 V : 공유데이터를 반납하는 과정 자원을 세는 것을
Bounded-Buffer Problem (Producer-Consumer Problem)Readers and Writers ProblemDining-Philosophers ProblemP : 공유데이터 획득하는 과정 V : 공유데이터를 반납하는 과정 자원을 세는 것을
KOCW.이화여자대학교.반효경.운영체제위 강의를 바탕으로 학습 및 정리했습니다 데드락의 문제, 발생 조건, 처리방법 네 가지중 하나인 프리벤션을 알아본다.서로서로가 길을 막아서 진행 불가능한 상태 교착상태가 일어나는 건 하드웨어 자원일 수도 있음자신이 가진 자원을 절대
메모리는 주소를 통해서 접근하는 장치 \-> 메모리 주소는 크게 2가지프로그래머가 바라볼 때 -> 심볼릭 주소(변수이름, 함수이름 등)컴파일 후 실행파일 등이 되었을 때 -> 로지컬 주소실행될 때 -> 물리적 주소논리 주소 -> 물리 주소 변환(주소 바인딩)은 누가 해
가상메모리 관리는 전적으로 운영체제의 역할 프로그램의 코드들은 대부분 방어적 \-> 거의 대부분이 사용안됨\-> 모든 코드들을 메모리에 올리는건 비효율적Demading paging을 사용하면 필요한 부분(코드)만 메모리에 올라감 \-> I/O 양 감소, 물리적 메모리
파일 대표 연산 : 생성 - 삭제, 읽기 - 쓰기파일 읽기 위한 포인터가 존재함lseek 연산 필요에 따라 현재 포인터의 위치를 수정해주는 연산 open-close 연산open파일의 meta data를 메모리에 올려 놓는 연산파일은 파일 자체내용 말고도 관리를 위한 d
디스크 컨트롤러가 논리적 블록에 저장된 주소를 가지고 실제 물리적 섹터 위치로 변환해서 읽고 쓰게 해줌섹터에 데이터 저장피지컬포멧팅 : 섹터를 나누는 과정 header/trailer : 디스크 내부에서 컨트롤러가 관리하기 위한 정보가 들어있음섹터 번호 : 실제 이 섹터
요구분석시스템 명세설계UI/UX 설계DB 설계요구사항 수정 및 추가될 때마다 DB 수정해야할 수도DB가 바뀌면 구현 다 바뀔 수도\-> DB설계 매우 중요함구현테스트유지보수개발 방법론을 따라서 개발해보자 유스케이스 다이어그램을 활용해보자요구사랑 수집 및 분석💥설계💥
개념적 데이터베이스 모델링 단계에서 정의된 ERD을 Mapping Rule을 적용하여 관계형 데이터베이스 이론에 입각한 스키마를 설계하는 단계와 이를 이용하여 필요하다면 정규화 하는 단계로 구성 개념적 데이터베이스 모델링에서 도출된 개체 타입과 관계 타입의 데이블 정의
논리적 데이터베이스 모델링 단계에서 얻어진 데이터베이스 스키마를 좀 더 효율적으로 구현하기 위한 작업 DBMS 특성에 맞게 실제 데이터 베이스 내의 개체들을 정의 하는 단계데이터 사용량 분석과 업무 프로세스 분석을 통해서 보다 효율적인 데이터베이스가 될 수 있도록 효과
폭포수 모델(Waterfall Model) 소프트웨어 개발 프로세스 모델중 하나 선형 순차 모델(linear(sequential) model)각 단계는 병행수행되지 않고 순차적으로 진행됨확장 형태로 V모델이 있음 단순한 선형 모델이해가 쉬움단계별로 정형화된 접근 방법체
폭포형 모델을 사용한 시스템 개발애플리케이션 실행환경 구축 -> 인프라 엔지니어가 담당애플리케이션 개발 부분 -> 애플리케이션 엔지니어가 담당클라우드의 등장 이전에는 온프레미스 환경에서 가동\-> 클라우드의 등장으로 서버들을 클라우드 상의 가상 인스턴스로 옮김\-> 실
MSA 프로젝트를 어설프게 진행해본적 있는데 그때는 서비스를 어떤 기준으로 나눌지, 개발 측면 고려 등을 고려하지 않은채 감으로만 서비스를 무작정 나눴다. (그런 설계 방법이 정립되어 있다고 생각 못했음)하지만 도메인 주도 설계 DDD에 알게 되었고 이를 정리하고 추후
가장 중요한 원칙 OCP, DIPSingle responsibility principle한 클래스는 하나의 책임만 가져야 한다 하나의 책임이라는 것은 모호 클 수도 있고 작을 수도 있음문맥과 상황에 따라 다르다 중요한 기준은 변경 변경이 있을 때 파급효과가 적어야 함O
EC2 인스턴스를 프리티어로 사용하는데 메모리가 너무 적어서 터지곤했다.이것을 돈을쓰지않고 해결하는 방법을 찾다가 리눅스의 swap memory 방법이 있다는 것을 발견함 swap memory가 뭔지 정리해보자 물리적 메모리를 대체하는 하드 디스크의 공간운영체제에서 사
HTTP 특징connectionless : 한번의 통신 이후 그 연결이 바로 끊어짐 stateless : 이전의 통신에 대한 정보를 가지고 있지 않음 위의 특성들로 인해 사용자가 매번 서버에 요청을 보낼 떄마다 자신이 누구인지 계속해서 인증해줘야 함\-> 매번 로그인
System Stack : 운영체제가 사용하는 스택 복귀주소 기억 함수는 실행이 끝나면 자신을 호출한 함수로 되돌아감. 이 때 복귀할 주소를 기억하는 데 사용 활성 레코드 시스템 스택에는 함수가 호출될 때마다 활성 레코드(activation record)가 만들어지며,
DFD는 데이터가 소프트웨어 내의 각 프로세스를 따라 흐르면서 변환되는 모습을 나타낸 그림으로 소프트웨어 및 정보시스템의 분석과 설계에서 매우 유용하게 사용되는 다이어그램 데이터 흐름도 또는 자료 흐름도시스템의 모형화 도구로서 가장 보편적으로 사용되는 것 중 하나 데이
어떤 네트워크 안에서 통신 데이터를 보낼 때 최적의 경로를 선택하는 과정최적의 경로는 주어진 데이터를 가장 짧은 거리로 또는 가장 적은 시간 안에 전송할 수 있는 경로패킷 스위칭에선 일반적으로 라우터, 브릿지, 게이트웨이, 방화벽 또는 스위치로 불리는 중간 노드를 거쳐
IP 주소 및 기타 데이터를 저장하고 이름별로 쿼리할 수 있게 해주는 계층형 분산 데이터베이스DNS는 컴퓨터가 서로 통신하는 데 사용하는 숫자 IP 주소로 변환되는, 쉽게 읽을 수 있는 도메인 이름의 디렉터리브라우저에 URL을 입력하면 DNS는 URL을 해당 이름과 연
랜카드 랜케이블(트위스트 페어 케이블)UTPSTP다이렉트 케이블크로스 케이블허브 스위치이더넷CSMA/CDMACFCS플러딩전이중 통신반이중 통신ARP
빅테크 기업의 경우 폭발적인 트래픽을 감당할 수 있어야 한다.다수의 서버를 구축하여 안정적으로 사용자의 요청을 처리할 필요가 있다.한 서버에 트래픽이 가중되지 않고 안정적인 성능을 유지할 수 있도록 트래픽을 제어 → 로드밸런서현재 서버 상태와 무관하게 고정된 규칙에 따
오래 걸리는 일 하나와 빨리 끝나는 일 여럿을 같이 할 때어떤 긴처리를 진행하는 동안 다른 짧은 일을 처리해야 할 떄기기에 있는 CPU를 모두 사용해야 할 때\-> 멀티 스레딩 필요 스레드 (Thread)cpu가 독립적으로 처리하는 하나의 작업 단위 스레드가 여러개일
오래 걸리는 일 하나와 빨리 끝나는 일 여럿을 같이 할 때어떤 긴처리를 진행하는 동안 다른 짧은 일을 처리해야 할 떄기기에 있는 CPU를 모두 사용해야 할 때\-> 멀티 스레딩 필요 스레드 (Thread)cpu가 독립적으로 처리하는 하나의 작업 단위 스레드가 여러개일
Scheduling criteria스케줄링 효율 분석 기준CPU 이용률 단위 시간당 처리하는 작업의 수반환시간 : 프로세스 작업 시작부터 작업 끝낼때까지 걸린 시간대기시간 : CPU를 점유하기 위해 ready queue에서 기다린 시간응답시간 : 입력에 대한 반응 시간
중복 제거: UNION은 두 개 이상의 SELECT 쿼리의 결과를 하나로 합칠 때 중복된 레코드를 자동으로 제거합니다.정렬 필요: UNION을 사용할 때는 기본적으로 내부적으로 결과가 정렬됩니다. 이는 중복된 레코드를 제거하기 위한 처리 때문입니다.사용 예중복 포함:
싱글톤 패턴은 객체를 딱 한 번만 생성하도록 보장하는 디자인 패턴전역 변수를 사용하여 객체를 저장하고 다른 객체들이 그 객체를 공유장점공통적인 리소스나 데이터에 대한 중복 생성 및 관리를 방지객체 생성 비용과 자원 소모를 최소화객체 간의 의존성 관리가 용이주의다수의 클
DB 전체를 정의할 Meta 정보가 필요DB이름은?테이블은 몇개고 각각의 이름은? 컬럼은 몇개고 각각의 컬럼 명은? 각 데이터는 어떤 자료형을 쓰는가? 등등 ...\-> Database Schema스키마 -> 관점 DB는 사용자가 다양함 -> 관점이 다양하게 존재 ->
객체지향 설계에 등장하는 개념들클래스 : 공통되는 것들을 묶어서 대표적인 이름을 붙인 것(추상화의 결과)추상화 : 공통적인 것들을 뽑아낸 것 예를들어 사람, 자동차라고 하면 누구든지 알아들을 수 있는 정도로 공통점만 뽑아내는 것 자동차! 라고 하면 모두가 머릿속에 엔진