CS 3

[OS] 프로세스? 프로그램?

프로그램과 프로세스일상생활에서 프로그램이라는 말은 많이 사용한다. 그렇다면 프로세스는 무엇을 뜻하는 것일까?어떠한 일의 흐름.과정. 일반적인 뜻으로는 그렇게 쓰이지만 프로그래밍 세계에서 프로세스의 의미는 약간 다르다.그렇다면, 프로그램과 프로세스는 각각 어떤 의미를 가지고 있으며, 프로그램과 프로세스의 차이점은 무엇일까?프로그램은 실행 시킬 수 있는 코드들이 들어있는 정적 상태의 파일이다.컴퓨터에서 프로그램은 사용자가 원하는 일을 처리할 수 있도록 프로그래밍 언어를 사용하여 수행절차를 표현해놓은 명령어들의 집합으로,그에 필요한 데이터들을 모아놓은 파일들이 보조 기억장치에 저장 되어있다. 프로세스는 이런 프로그램이 실행 되고 있는 상태 를 말한다. 프로그램을 실행하면, 운영체제로부터 실행에 필요한 자원을 ..

CS/OS 2025.04.15

[디자인 패턴] 전략 패턴

1.1.3 전략패턴정책 패턴이라고도 하며, 객체의 행위를 바꾸고 싶은 경우 '직접' 수정하지 않고 전략이라고 부르는 '캡슐화한 알고리즘'을 컨텍스트 안에서 바꿔주면서 상호 교체가 가능하게 만드는 패턴이다. 알고리즘군을 정의하고 캡슐화해서 각각의 알고리즘군을 수정해서 사용할 수 있게 해줌즉, 어떤 일을 수행하는 알고리즘이 여러가지 일때, 동작들을 미리 전략으로 정의함으로써 손쉽게 전략을 교체할 수 있는, 알고리즘 변형이 빈번하게 필요한 경우에 적합한 패턴이다. 전략 패턴 특징전략 패턴 사용 시기전략 알고리즘의 여러 버전 또는 변형이 필요할 때 클래스화를 통해 관리알고리즘 코드가 노출되어서는 안 되는 데이터에 액세스 하거나 데이터를 활용할 때 (캡슐화)알고리즘의 동작이 런타임에 실시간으로 교체 되어야 할때전..

CS 2024.09.11

[디자인 패턴] 싱글톤 패턴 (singleton pattern)

1.1.1 싱글톤 패턴하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴하나의 클래스를 기반으로 여러 개의 개별적인 인스턴스를 만들 수 있지만, 그렇게 하지 않고 하나의 클래스를 기반으로 단 하나의 인스턴스를 만들어 이를 기반으로 로직을 만드는 데 쓰이며, 보통 데이터베이스 연결 모듈에 많이 사용한다.다시 말해 클래스를 통해 생성할 수 있는 객체가 한개만 되도록 만드는 것이 싱글톤 패턴이다. 하나의 인스턴스를 만들어 놓고 해당 인스턴스를 다른 모듈들이 공유하며 사용하기 때문에 인스턴스를 생성할 때 드는 비용이 줄어드는 장점이 있다. 하지만 의존성이 높아지는 단점이 있다.오직 유일한 객체를 통해서만 어떤 리소스에 접근해야하는 제약이 있는 상황에서 유용하다. 클래스를 사용하는 입장에서 실수롤 여러 번 객체 ..

CS 2024.08.15