🔗 문제 링크https://www.acmicpc.net/problem/1084 문제 설명정수를 저장하는 큐를 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오.주어진 명령- push X: 정수 X를 큐에 넣는 연산이다. - pop: 큐에서 가장 앞에 있는 정수를 빼고, 그 수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다. - size: 큐에 들어있는 정수의 개수를 출력한다. - empty: 큐가 비어있으면 1, 아니면 0을 출력한다. - front: 큐의 가장 앞에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다. - back: 큐의 가장 뒤에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다.입..
컴퓨터 시스템 구조컴퓨터 시스템 구조 부팅을 하면 운영체제가 메모리에 상주하면서 실행 → CPU는 매순간 메모리에 있는 기계어를 실행시킴프로그램 실행시키면 해당 프로그램이 메모리에 올라가서 프로세스가 됨CPU가 운영체제에 의해서 실행될 경우에는 필요한 기계어만 사용하지만 운영체제가 사용자 프로그램에게 CPU를 넘겨줄 때에는 안정성을 보장할 수 없음 → mode bit을 통해서 해결함 Program Register Counter : 다음 번에 실행할 기계어의 메모리 주소를 가지고 있음 → CPU는 카운터가 가리키고 있는 메모리 위치에서 기계어를 가져옴 사용자가 프로그램을 계속 사용하는 것을 막기 위해 부가적인 하드웨어를 두는데 이를 timer 하드웨어라고 함일정 시간이 흐르면 자연스럽게 CPU에게 인터럽트..
프로젝트를 하면서 JDBC에 대한 개념을 확실히 알아야 될 것 같아 이참에 정리를 한번 해보았다. JDBC(Java Database Connectivity) 란?서버랑 데이터베이스를 연결해주는 API이자 드라이버이다. 즉, JAVA 기반 애플리케이션의 데이터를 데이터베이스에 저장 및 업데이트를 하거나, 데이터베이스에 저장된 데이터를 Java에서 사용가능하도록 하는 API이다. 쉽게 말해서 자바 언어와 DB를 연결해주는 통로와 같은 것이다.JDBC API : JDBC 클래스는 자바 패키지 java.sql과 javax.sql에 포함되어 있다.JDBC Driver Manager : 애플리케이션이 요구하는 데이터베이스에 접근하기 위한 적절한 드라이버를 선택해서 데이터베이스와 연결하도록 도와준다.→ 애플리케이션..
정보 시스템1. 정보와 데이터데이터 (Data)실세계에서 관찰 또는 측정된 사실 (fact) 또는 값(value)숫자(number), 문자(character), 문자열(string), 텍스트(text), 이미지(image)로 표현정보 (Information)상황에 따라 적절한 결정(decision making)을 할 수 있게 하는 지식(knowledge) ⬇️ 예시 2. 정보 시스템(Information System)조직체의 활동에 필요한 데이터를 수집(collect), 조직(organize), 저장(store)하고 데이터 처리를 통해 의사 결정에 유용한 정보를 생성하는 수단정보 시스템의 명칭경영 정보 시스템 (MIS, Management Information System)군사 정보 시스템 (Milita..
CPU 스케줄링프로세스의 상태1) 한 프로그램이 I/O 키보드 입력을 요청하고 응답을 받았을 때, 디스크에 있는 해당 프로그램이 키보드 controller를 통해서 cpu에게 응답을 알려줌2) CPU 권한이 운영체제로 넘어가게 되고, 키보드 입력을 기다리는 프로그램에게 원하는 응답이 들어왔다는 것을 알려준 후 프로그램에게 CPU 권한을 주고 CPU 큐에 기다리게 됨3) 그 후 CPU를 얻어서 연산을 하고 연산 결과를 I/O를 통해서 화면에 출력해줌 스케줄링 종류1. FCFS 스케줄링먼저 온 CPU를 먼저 처리함CPU를 쓰겠다고 CPU 큐에서 여러 프로그램이 줄선 상황 → 간발의 차이로 순서는 정해져 있지만 세 개의 프로그램이 0초 시점에 CPU를 쓰겠다고 거의 동시에 도착함→ 프로세서가 CPU를 사용하는..
운영체제란 무엇인가?1. 운영체제의 정의컴퓨터 하드웨어와 소프트웨어의 자원을 관리하고 컴퓨터 프로그램을 위해 보편적인 서비스를 제공하며 컴퓨터 자원을 독점적으로 관리하는 시스템 소프트웨어 즉, 하드웨어 바로 윗단에 설치되어 사용자 및 다른 소프트웨어와 하드웨어를 연결하는 계층좁은 의미의 운영체제: 커널이라고 부름 (운영체제의 핵심적인 부분, 컴퓨터 전원을 켠 다음 부팅 후 항상 메모리에 상주하는 부분)넓은 의미의 운영체제: 커널 + 각종 시스템 유틸리티라고 부름-> 메모리에 상주하지 않는 별도의 독립적 프로그램이라서 운영체제에는 포함시킴, 컴퓨터 시스템을 관리하는데 전반적으로 필요한 부분이라고 생각하면 됨 2. 운영체제의 목적컴퓨터 시스템을 편리하게 제공하는 환경을 구성해줌운영체제는 동시 사용자와 프로그..