분류 전체보기(219)
-
Transacrion 처리 - was not registered for synchronization because synchronization is not active
디버깅을 하다보니 mapper에서 데이터를 전혀 가져오지 못하고 있는 것을 발견했다. 그래서 디버그 로그를 확인해보니 아래와 같은 로그가 찍혔다. [2023-12-04 17:18:30,601] DEBUG org.mybatis.spring.SqlSessionUtils.getSqlSession(SqlSessionUtils.java:104) - Creating a new SqlSession [2023-12-04 17:18:30,640] DEBUG org.mybatis.spring.SqlSessionUtils.getSqlSession(SqlSessionUtils.java:140) - SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@130dd2a..
2023.12.05 -
2장 - 운영체제 개요 : 운영체제 자원 관리 기능
운영체제의 자원 관리 기능 HW 자원 : CPU, 메모리, 주변장치 또는 입출력 장치(보조기억장치 - CPU, 메모리는 전원이 꺼지면 처리중이던 정보가 모두 꺼지기 때문에 전원이 나가도 기억해야하는 부분은 입출력 장치 중 하나인 해당 장치에 파일형태로 저장) CPU CPU 스케쥴링 매 시점 어떤 프로세스에 CPU를 할당해 작업을 처리할 것 인지 결정하는 일이 필요 - CPU를 가장 효율적이면서도 특정 프로세스가 불이익 당하지 않도록 하는 것 - 1. 선입선출(FCFS) CPU를 사용하기 위해 도착한 프로세스들 중 먼저 온 것을 먼저 처리해주는 방식 - CPU 자체의 효율적인 사용 측면에서 문제가 없지만 전체 시스템 입장에서는 비효율적인 결과를 초래 2. 라운드 로빈(RR) CPU를 한번 할당받아 사용할 ..
2023.11.17 -
1장 - 컴퓨터 및 정보기술의 역사 : 현대의 컴퓨터
범용 컴퓨터 : 임의의 목적으로 사용 (슈퍼컴퓨터, 메인프레임 컴퓨터, 워크스테이션, 개인용 컴퓨터, 휴대용 컴퓨터) 임베디드 컴퓨터 : 특수한 목적을 위해 각종 장치의 제어용으로 내장 범용 컴퓨터 1) 슈퍼컴퓨터와 메인프레임 컴퓨터 1-1. 메인프레임 컴퓨터 - 은행, 항공사 같은 대규모 사업장에서는 대량의 데이터 처리와 신뢰성 있는 전산 작업을 위해 메인프레임 컴퓨터를 여전히 사용 - 시분할(Time Sharing) 방식 사용 1-2. 슈퍼컴퓨터(고성능 컴퓨터(HPC)) - 메인프레임 컴퓨터로도 처리 능력이 부족한 응용분야인 기상예측, 통신망 설계, 석유 탐사 같은 분야에서 사용 * 클라우드 컴퓨팅(Cloud Computing) 슈퍼컴퓨터를 원격으로 사용하고, 사용료를 지불하는 새로운 형태의 컴퓨팅 ..
2023.11.17 -
3장 - 컴퓨터 시스템의 동작 원리 : 컴퓨터 시스템의 구조
컴퓨터 시스템의 구조 메모리 및 입출력 장치 등의 하드웨어 장치에는 '컨트롤러'가 장착되어 있음 컨트롤러는 컴퓨터 전체에 CPU라는 중앙처리장치가 있듯이 각 하드웨어 장치마다 존재하면서 제어하는 작은 CPU 운영체제는 여러 프로그램이 동시에 수행되는 시스템을 위한 OS로 컴퓨터 부팅부터 항상 수행되면서 각종 자원들을 관리해야 하므로 항상 메모리에 올라가있다. 하지만 운영체제의 모든 코드를 다 메모리에 상주시키면 메모리 낭비가 발생하기 때문에 메모리에 올라가 있는 부분은 전체 운영체제 중에서 핵심적인 부분에 한정된다. 이를 '커널(Kernel)'이라고 부른다.
2023.11.17 -
3장 - 컴퓨터 시스템의 동작 원리 : 인터럽트의 일반적 기능
운영체제는 각종 하드웨어 및 소프트웨어 자원 관리 뿐만 아니라 사용자 프로그램에 필요한 서비스도 제공한다. 이처럼 운영체제가 해야할 일을 개발자가 미리 프로그래밍 해서 커널내에 포함시켜두는데, 이 중 하나가 '인터럽트 처리 루틴'이다. 인터럽트 처리 루틴 다양한 인터럽트에 대해 각각 처리해야 할 업무들을 정의 EX ) 1. 디스크 컨트롤러가 인터럽트 발생 2. CPU는 하던 일을 멈추고 이 인터럽트가 발생했을 때 수행하도록 정의된 코드를 찾아 수행 3. 수행한 일은 디스크의 로컬버퍼에 있는 내용을 사용자 프로그램의 메모리로 전달 4. 해당 프로그램이 CPU를 할당받을 경우 다음 명령을 수행할 수 있도록 표시하는 일 하드웨어 인터럽트 하드웨어 인터럽트는 컨트롤러 등 하드웨어 장치가 CPU의 인터럽트 라인을..
2023.11.17 -
3장 - 컴퓨터 시스템의 동작 원리 : 인터럽트 핸들링
인터럽트 핸들링 인터럽트 핸들링(Interrupt Handling) 인터럽트가 발생한 경우 처리해야 할 일의 절차 CPU에서 명령이 실행될 때 CPU내부의 임시 기억장치인 레지스터(Register)에서 데이터를 읽거나 쓰면서 작업을 하는데, 이때 인터럽트 발생으로 새로운 명령을 실행하면 기존의 레지스터 값들이 지워지게 되므로 CPU내의 이러한 상태를 저장한 이후에 인터럽트 처리가 이루어질 수 있도록 한다. PCB(Process Control Block) : 프로세스 제어블록 운영체제가 현재 시스템 내에서 실행되는 프로그램들을 관리하기 위해 두는 자료구조 EX ) 1. 프로그램 실행 중 인터럽트 발생 2. 프로그램이 실행 중이던 코드의 메모리 주소와 레지스터 값, 하드웨어 상태 등을 PCB에 저장 3. C..
2023.11.17