본문 바로가기

CS Study44

[CS] Ch.1 디자인 패턴과 프로그래밍 패러다임 : 싱글톤 패턴, 팩토리 패턴, 전략 패턴 1.1 디자인 패턴프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 하나의 '규약' 형태로 만들어 놓은 것 1.1.1 싱글톤 패턴하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴으로, 보통 데이터베이스 연결 모듈에 많이 사용된다. 장점 하나의 인스턴스를 만들어 놓고 해당 인스턴스를 다른 모듈들이 공유하며 사용하기 때문에 인스턴스를 생성할 때 드는 비용이 줄어듦 단점 의존성이 높아짐   자바스크립트의 싱글톤 패턴자바스크립트에서는 리터럴 {} 또는 new Object로 객체를 생성하게 되면 다른 어떤 객체와도 같지 않기 때문에 이 자체만으로 싱글톤 패턴을 구현할 수 있다.const obj = { a: 27}const obj2 = { a: 27}con.. 2024. 5. 9.
[OS] 쉽게 배우는 운영체제 6장 연습문제/심화문제 연습문제 1. 2개 이상의 프로세스가 서로 작업이 끝나기만 기다리며 작업을 더 이상 진행하지 못하는 상태를 무엇이라 하는가? 교착상태 2. 프로세스가 어떤 자원을 사용 중이고 어떤 자원을 기다리고 있는지를 나타내는 방향성이 있는 그래프를 무엇이라 하는가? 자원 할당 그래프 3. 네 가지 교착 상태 필요조건에 대해 설명하시오. ① 상호 배제 : 배타적인 자원이어야 한다. ② 비선점 : 비선점 자원이어야 한다. ③ 점유와 대기 : 자원을 할당 상태에서 다른 자원을 기다리는 상태여야 한다. ④ 원형 대기 : 점유와 대기를 하는 프로세스 간 관계가 원을 이루어야 한다. 4. 교착 상태 해결 방법 중, 교착 상태를 유발하는 네 가지 조건을 무력화하는 방법은 무엇인가? 교착 상태 예방 5. 교착 상태 해결 방법 중.. 2024. 2. 29.
[OS] Ch.6 교착상태 1. 교착상태의 개요 1. 교착상태의 정의 교착상태 2개 이상의 프로세스가 다른 프로세스의 작업이 끝나기만 기다리며 작업을 더 이상 진행하지 못하는 상태 아사현상과의 차이점 아사현상은 운영체제가 잘못된 정책을 사용하여 특정 프로세스의 작업이 지연되는 문제 교착상태는 여러 프로세스가 작업을 진행하다 보니 자연적으로 일어나는 문제 따라서 운영체제는 감시를 하다가 교착 상태가 발생하면 강압적으로 해결해야 함 2. 교착상태의 발생 컴퓨터 시스템에서 교착 상태는 시스템 자원, 공유 변수(또는 파일), 응용 프로그램 등을 사용할 때 발생 가능 시스템 자원 어떤 프로세스가 임계구역으로 보호되는 프린터, 스캐너, CD 레코더 등 동시에 같이 사용할 수 없는 시스템 자원을 할당받은 후 양보하지 않은 경우 공유 변수 한 .. 2024. 2. 29.
[OS] 쉽게 배우는 운영체제 5장 연습문제/심화문제 연습문제 1. 프로세스 간 통신에서 데이터를 양방향으로 전송 가능하지만 동시 전송은 불가능하고 특정 시점에 한쪽 방향으로만 전송할 수 있는 통신 방식은 무엇인가? 반양방향 통신 2. 상태 변화를 살펴보기 위해 반복문을 무한 실행하며 기다리는 것을 무엇이라 하는가? 바쁜 대기 3. 프로세스 간 통신에서 대기가 없는 통신과 대기가 있는 통신의 예를 각각 제시하시오. 대기가 없는 통신 : 전역변수, 파일 / 대기가 있는 통신 : 소켓, 파이프 4. 파이프를 이용하여 통신할 때 파이프를 2개 사용하는 이유는 무엇인가? 파이프는 단방향이라, 2개를 사용하면 양방향 통신이 가능하다. 5. 공유 자원을 병행적으로 읽거나 쓰는 상황을 무엇이라 하는가? 경쟁 조건 6. 공유 자원의 접근 순서에 따라 실행 결과가 달라지는.. 2024. 2. 29.
[CS] CS 지식 정리 - 2 컨텍스트 스위칭 동작의 단계실행 중지할 프로세스의 PCB에 현재 CPU의 PC와 SP 레지스터 값을 저장다음 실행할 프로세스의 바이너리 코드를 저장매체(SSD, HDD)에서 찾아서, 이전 PC와 SP 레지스터 값을 읽어옴PCB에서 찾아옴읽어온 다음 실행할 프로세스의 기존 PC와 SP 값을 CPU의 해당 레지스터에 업데이트다음 실행할 프로세스를 CPU에서 실행 프로세스간 커뮤니케이션프로세스는 기본적으로는 다른 프로세스의 사용자 영역 공간을 직접 접근할 수 없음  fork()기본적으로 프로세스 생성 시, 리눅스(유닉스 계열)에서는 최초 프로세스를 제외하고는 fork() 시스템콜을 사용해서 부모 프로세스를 복사하여 자식 프로세스를 생성  IPCIPC는 Inter Process Communication의 약자로.. 2024. 2. 28.
[CS] CS 지식 정리 - 1 컴퓨터 하드웨어케이스, 중앙 처리 장치, 모니터, 자판, 컴퓨터 기억 장치, 그래픽 카드, 사운드 카드, 메인보드와 같은 컴퓨터의 물리적 부품(CPU, 메모리, I/O 디바이스 등)  운영체제유저가 컴퓨터를 편하게 사용할 수 있게 모든 하드웨어 자원을 관리해주는 프로그램 (소프트웨어)  주기억장치ROM : MASK ROM, PROM, EPROM, EAROM, EEPROMRAM : SRAM, DRAM 보조기억장치하드디스크USB memoryBluray 양자컴퓨터양자의 기본 성질인 중첩, 얽힘 등을 이용하여 다수의 정보를 처리할 수 있는 새로운 개념의 컴퓨터현재 나노공정 설계로 제작되는 반도체 칩의 한계를 극복하기 위해 등장함양자컴퓨터는 현재 양산 가능한 형태로 기술이 개발되어 있음  → 현재 수준의 양자컴퓨.. 2024. 2. 27.