나를 기록하다
article thumbnail
[TIL-42/240312] 관점 지향 프로그래밍(AOP)
TIL 2024. 3. 12. 22:21

관점 지향 프로그래밍(AOP) AOP(Aspect Oriented Programming) 어플리케이션 로직에는 핵심 기능과 부가 기능이 존재 핵심 기능: 객체가 제공하는 고유의 기능 부가 기능: 핵심 기능을 보조하기 위한 기능(시간 측정, 로그 추적, 트랜잭션 관리 등) OOP에서 모듈화의 핵심 단위는 클래스, AOP에서 모듈화의 단위는 Aspect Aspect는 여러 타입과 객체에 거쳐서 사용되는 기능(Cross-Cutting, 트랜잭션 관리 등)의 모듈화 AOP는 OOP를 대체하는 것이 아닌 보조하는 것이 목적 AOP 용어 Target: 핵심 기능을 담고 있는 객체 → 부가기능을 부여할 대상 Aspect 여러 클래스에 공통적으로 적용되는 공통 관심 사항(AOP의 기본 모듈) Advice + Point..

article thumbnail
[쉽게 배우는 운영체제] 4. CPU 스케줄링

스케줄링의 개요 CPU 스케줄링 CPU 스케줄러는 관리의 범주를 나누어 스케줄링한다. CPU 스케줄링은 규모에 따라 고수준 스케줄링, 중간 수준 스케줄링, 저수준 스케줄링으로 구분된다. 고수준 스케줄링 가장 큰 틀에서 이루어지는 CPU 스케줄링은 고수준 스케줄링 또는 장기 스케줄링, 작업 스케줄링이라고 함 많은 작업을 동시에 하면 시스템에 과부하가 걸려 작업이 원활하게 이루어지지 않음 시스템 내의 전체 작업 수를 조절 작업: 운영체제에서 다루는 일의 가장 큰 단위, 1개 또는 여러 개의 프로세스로 이루어짐 고수준 스케줄링 단계에서 어떤 작업을 시스템이 받아들일지 또는 거부할지 결정 일단 작업이 시작되면 시스템 자원을 사용하기 때문에 기존 작업에 영향을 미침 작업 요청이 오면 스케줄러가 시스템의 상황을 고..

article thumbnail
[쉽게 배우는 운영체제] 3. 프로세스와 스레드

프로세스의 개요 운영체제에서 프로세스란 하나의 작업 단위다. 사용자가 마우스를 더블클릭하여 프로그램을 실행하면 그 프로그램은 프로세스가 된다. 이렇게 실행된 프로세스는 복잡한 과정을 거쳐 사용자가 지시한 작업을 마무리한다. 프로세스의 개념 폰노이만 구조에서 프로그램이 실행된다는 것은 해당 코드가 메모리에 올라와서 작업이 진행된다는 의미다. 프로그램은 저장장치에 저장된 정적인 상태이고, 프로세스는 실행을 위해 메모리에 올라온 동적인 상태다. 프로그램과 프로세스 프로그램: 작성한다라고 표현, 어떤 데이터를 사용하여 어떤 작업을 할지 그 절차를 적어놓은 것 프로세스: 실행한다라고 표현, 프로그램으로 작성된 작업 절차를 실행에 옮기는 것 누군가 작성한 프로그램이 실행되면 프로세스가 된다. 일괄 작업 방식 일괄 ..

article thumbnail
[쉽게 배우는 운영체제] 2. 컴퓨터 구조와 성능 향상(연습문제)

1. 데이터의 이동 통로를 나타내는 것은? 입력장치 CPU 출력장치 버스 2. CPU와 메모리 등 다양한 부품을 연결하고 전원을 공급해 주는 커다란 판을 나타내는 것은? 메인메모리 USB 드라이브 메인보드 SSD 3. First In, First Out의 자료구조는? 큐 배열 연결 리스트 스택 4. First In, Last Out의 자료구조는? queue array linked list stack 5. 동적 메모리 할당을 사용하여 공간 관리가 편리한 자료구조는? 큐 배열 연결 리스트 스택 6. 폰노이만 구조에서 모든 프로그램은 ( )에 올라와야 실행할 수 있다. 괄호 안에 들어갈 적당한 단어는? 하드디스크 메인메모리 마우스 키보드 7. 요리사 모형의 도마(작업 공간)와 가장 관련이 높은 것은? 프로세스..

article thumbnail
[쉽게 배우는 운영체제] 2. 컴퓨터의 구조와 성능 향상

컴퓨터의 기본 구성 하드웨어의 구성 컴퓨터는 중앙처리장치(CPU), 메인메모리, 입력장치, 출력장치, 저장장치로 구성된다. 컴퓨터로 하는 작업의 대부분은 CPU와 메인메모리의 협업으로 이루어지기 때문에 이 두 가지는 필수장치로 분류된다. 그 외의 부품은 주변장치라고 한다. 메인메모리는 전력이 끊기면 데이터를 잃어버리기 때문에 데이터를 영구히 보관하려면 하드디스크나 USB 메모리를 사용해야 한다. 그래서 메인메모리를 제1 저장장치(first storage), 하드디스크나 USB 메모리와 같은 메모리를 제2 저장장치(second stoarge) 또는 보조저장장치라고 부른다. 보통 메인메모리를 '메모리', 보조저장장치를 '저장장치'로 지칭한다. CPU와 메모리 CPU: 명령어를 해석하여 실행하는 장치, 두뇌의..

article thumbnail
[쉽게 배우는 운영체제] 1. 운영체제의 개요

운영체제의 개요 운영체제의 정의 컴퓨터 자원을 효율적으로 관리하는 소프트웨어를 운영체제 혹은 OS라 부른다. 운영체제는 사용자에게 인터페이스를 제공하고 응용 프로그램에 컴퓨터 자원을 골고루 배분하여 작업 환경을 만들어 준다. 적당한 시점에 응용 프로그램으로부터 자원을 회수하고 악의적인 응용 프로그램으로부터 컴퓨터를 보호한다. 운영체제의 역할과 목표 컴퓨터 자원을 관리하는 운영체제의 역할은 자원 관리, 자원 보호, 하드웨어 인터페이스 제공, 사용자 인터페이스 제공이다. 운영체제는 이러한 역할을 제대로 수행하여 효율성, 안정성, 확장성, 편리성을 강화할 수 있는 형태로 발전해 왔다. 운영체제의 구성 운영체제의 핵심 기능을 모아놓은 것을 커널이라고 하며 커널에 명령을 내리고 그 결과를 알려주는 것을 사용자 인..

profile on loading

Loading...