전체 글

CS/운영체제

[OS] 운영체제의 서비스와 구조

운영체제의 서비스 1. 부팅 서비스 컴퓨터 하드웨어를 관리하고 프로그램을 실행할 수 있도록 컴퓨터에 시동을 검 운영체제를 메인 메모리에 적재 시스템 장치 초기화, 시간 설정, 명령 해석기 적재 및 준비 2. 사용자 서비스 프로그래머가 프로그래밍 작업을 쉽게 수행할 수 있도록 함 사용자 인터페이스 제공 ➡️ 프로그램 실행 ➡️ 입출력 동작 수행 ➡️ 파일 시스템 조작 ➡️ 네트워크 통신 ➡️ 오류 방지 3. 시스템 서비스 자원 할당 : 다수의 사용자나 작업을 동시에 실행할 때 자원을 각각 할당하고 관리 계정 : 각 사용자가 자원을 얼마나 사용하는지에 대한 정보를 저장하고 추적 보호와 보안 : 사용자가 다수인 컴퓨터 시스템에서 여러 프로세스를 동시 실행하려면 서로의 활동에서 프로세스를 보호 4. 시스템 호출..

CS/운영체제

[OS] 운영체제의 유형

1. 운영체제의 발전 과정 연도 운영체제 특징 1940년대 운영체제 없음 - 기계어를 직접 사용 - 단순 순차 처리 1950년대 일괄 처리 시스템 - 운영체제의 효시인 IBM 701 개발 - 작업별로 일괄 처리 1960년대 - 다중 프로그래밍 시스템 - 시분할 시스템 - 다중 처리 시스템 - 실시간 처리 시스템 - 가상 기억장치 등장 - 다중 프로그램, 다중 처리, 시분할 처리 - 운영체제를 고급 언어로 작성 - 데이터 통신 지원용 운영체제 사용 1970년대 초반 - 다중 모드 시스템 - 범용 시스템 - 일괄 처리, 시분할 처리, 실시간 처리 - 장치의 독립성 제공 - TCP/IP 통신 표준 활성화 1970년대 중반 분산 처리 시스템 - 응용 프로그램 개발 및 DB 활용 확대 - 네트워크 기술 발전 - ..

CS/운영체제

[OS] 운영체제의 개념과 기능

운영체제란 사용자와 하드웨어 사이에서 응용 프로그램의 실행을 제어하고 자원을 할당 및 관리하며, 입출력 제어 및 데이터 관리와 같은 서비스를 제공하는 소프트웨어이다. 운영체제의 개념과 발전 목적 1. 운영체제의 개념 운영체제는 사용자가 하드웨어에 접근할 수 있는 유일한 수단 사용자가 응용 프로그램을 실행할 수 있는 기반 환경을 제공하여 컴퓨터를 편리하게 사용할 수 있도록 도와줌 운영체제의 구성 사용자 : 어떤 일을 수행하려고 컴퓨터를 사용하는 사람 소프트웨어 : 컴퓨터가 기능을 수행하는데 필요한 모든 프로그램 시스템 소프트웨어 : 컴퓨터의 자원을 관리하고 응용 프로그램의 실행을 지원하여 컴퓨터를 제어하는 프로그램 유틸리티 : 응용 프로그램보다 작지만 컴퓨터의 여러 처리 과정을 보조하여 성능을 개선하는 프..

CS/운영체제

[OS] 컴퓨터 시스템의 동작

컴퓨터 시스템의 동작 입력장치로 정보를 입력받아 메모리에 저장한다. 메모리에 저장한 정보를 프로그램 제어에 따라 인출하여 연산장치에서 처리한다. 처리한 정보를 출력장치에 표시하거나 보조기억장치에 저장한다. 📍 1. 명령어의 구조 프로세서가 실행할 연산인 연산 부호와, 명령어가 처리할 데이터, 데이터를 저장한 레지스터나 메모리 주소인 피연산자로 구성된다. 연산 부호 : 프로세서가 실행할 동작인 연산을 지정한다. 피연산자 : 연할 데이터 정보를 저장한다. 피연산자의 위치를 명시하는 방법을 나타내는 모드 비트를 추가하거나, 명령어의 위치를 나타내는 주소를 추가할 수 있다. 주소를 추가하는 방법에는 직접 주소와 간접 주소가 있다. 모드가 0이면 직접 주소, 1이면 간접 주소이다. 직접 주소의 경우 피연산자가 알..

PS/백준

[백준] 13904번 과제 (python)

https://www.acmicpc.net/problem/13904 13904번: 과제 예제에서 다섯 번째, 네 번째, 두 번째, 첫 번째, 일곱 번째 과제 순으로 수행하고, 세 번째, 여섯 번째 과제를 포기하면 185점을 얻을 수 있다. www.acmicpc.net 문제를 간단히 정리하면 과제를 최대한 미루면서 가장 높은 점수를 받기이다. 즉, 마감일이 4일 남았으면 1, 2, 3일 남은 과제들을 하는 것이 이득이다. 4일 남은 과제의 점수가 제일 높다고 해서 1일차에 4일 남은 과제를 해버리면 1일 남은 과제의 점수를 날리게 된다. 어차피 모든 과제는 하루가 소요되기 때문에 마감일과 점수만 판단하면 된다. 내가 처음에 시도한 방법은 아래와 같다. (잘못된 방법) 점수 내림차순으로 정렬한 뒤 0번 인덱..

Dev

[Error] The origin server did not find a current representation for the target resource or is not willing to disclose that one exists. (이클립스)

전공 수업으로 웹서비스 프로그래밍을 듣고 있는데 톰캣을 사용해서 서비스를 구현하는 과제가 나왔다. 지난 1차 과제를 어렵지 않게 끝냈기 때문에 이번 2차 과제 역시 걱정이 없었다. 하지만 파일만 생성해줬을 뿐인데 가장 피하고 싶은 에러.. 404를 마주했다.. 중간고사가 끝난 직후라 과제가 너무 많은 상황인데 이 404 에러를 마주하니 두려웠다. 하지만 구글에 검색하니 다른 분들도 많이 겪으신 문제였기 때문에 쉽게 해결할 수 있겠다고 생각했다. (크나큰 오산) 1. 서버 모듈 경로 설정 하단에 있는 Servers에서 내가 실행시키는 서버를 더블 클릭한다. 그리고 모듈로 들어가면 경로를 설정할 수 있는데 Path 값을 "/"로 바꿔준다. 대부분 여기서 해결이 된다. 하지만 나는 해결이 되지 않았다. 2. ..

PS/백준

[백준] 1253번 좋다 (python)

https://www.acmicpc.net/problem/1253 1253번: 좋다 첫째 줄에는 수의 개수 N(1 ≤ N ≤ 2,000), 두 번째 줄에는 i번째 수를 나타내는 Ai가 N개 주어진다. (|Ai| ≤ 1,000,000,000, Ai는 정수) www.acmicpc.net 시험기간이라 그런지 알고리즘 푸는 게 더 재밌다..ㅠ 이 문제는 처음에 이해를 못해서 건너뛰었다가 다른 투포인터 문제를 푼 후에 다시 도전한 문제다. 처음에 착각한 부분이 있었는데, 4도 다른 수로 표현이 가능하길래 2 + 2가 되는 줄 알고 1 + 1 = 2도 가능할 줄 알았다. 그런데 문제를 잘 읽어보면 라고 명시되어 있다. 즉, 4는 2+2가 아니라 1+3이 가능해서 "좋다"에 포함되는 것이다. 이후 문제를 다시 잘 파..

PS/백준

[백준] 2230번 수 고르기 (Python)

https://www.acmicpc.net/problem/2230 2230번: 수 고르기 N개의 정수로 이루어진 수열 A[1], A[2], …, A[N]이 있다. 이 수열에서 두 수를 골랐을 때(같은 수일 수도 있다), 그 차이가 M 이상이면서 제일 작은 경우를 구하는 프로그램을 작성하시오. 예를 들어 www.acmicpc.net 처음에 정렬로만 풀었다가 시간초과가 났다. 이후 두 수를 고른다는 조건을 파악하여 투 포인터로 풀었다. 위 문제들이랑 결이 비슷해서 어렵지 않게 풀 수 있었다. 입력받은 숫자들을 빈 배열에 추가해 준다. 배열을 정렬한다. 인덱스를 늘리며 두 수의 차를 구한다. 두 수의 차가 m 미만인 경우, right 인덱스에 1을 더하여 더 큰 차이가 나도록 만든다. 두 수의 차가 m 이상인..

yo0oni
기록 기록 기록