목록전체 글 (22)
절대바이러스아닙니다믿어주세요.exe
9.1 Name two differences between logical and physical addresses.logical address는 cpu가 만들어낸 가상 주소이고, physical address는 실제 데이터가위치해있는 메모리 공간 주소이다.9.2 Why are page sizes always powers of 2?가상 주소를 페이지 번호+페이지 내부 오프셋으로 나눌 때, 페이지 크기가 2^n이면 하위 n비트가 그대로 오프셋이 되므로, 복잡한 계산 없이 비트 자르기만으로 주소 변환이 가능해서 빠르고 하드웨어 구현이 쉽기 때문이다.9.3 Consider a system in which a program can be separated into two parts: code and data. Th..
6.1 6.4절(동기화를 위한 하드웨어 지원 - Hardware support for synchronization)에서 인터럽트를 자주 비활성화하면 시스템 클록에 영향을 줄 수 있다고 언급했다. 왜 이런 일이 발생할 수 있고 그러한 영향을 최소화할 수 있는 방법에 대해 설명하라.interrupt를 비활성화 한다는 것은 CPU가 interrupt 요청을 받아도, 현재 실행을 중단하지 않게 interrupt를 당장 처리하지 않도록 막아둔다는 것이다.시스템 클록(system clock)이란 운영체제가 현재 시간과 시간 흐름을 관리하기 위해 사용하는 기준 시계이다.시스템 클록은 timer interrupt에 의해 갱신되는데, interrupt를 비활성하면 timer interruptt 처리가 지연되어 시간 갱신..
운영체제 10판 3장 연습문제 풀이3.1 아래 표시된 프로그램을 이용하여 LINE A에서 출력되는 내용을 설명하라.#include #include #include int value = 5;int main(){ pid_t pid; pid = fork(); if (pid == 0) { /* child process */ value += 15; return 0; } else if (pid > 0) { /* parent process */ wait(NULL); printf("PARENT: value = %d", value); /* LINE A */ return 0; }}답: 5fork() 시스템 호출이 실행되면 똑같은..
운영체제 10판 4장 연습문제 풀이4.1 다중 스레딩이 단일 스레드 솔루션보다 더 나은 성능을 제공하는 세 가지 프로그래밍 예시를 제시하라.동일한 작업을 다른 데이터에 처리하는 경우: 웹 서버 요청 처리, 대규모 연산다른 작업을 동일한 데이터에 처리하는 경우: GUI 기반 어플리케이션(한 스레드는 화면을 그리고, 한 스레드는 계산을 수행하는 등)4.2 Amdahl의 법칙을 이용하여 (a) 2개의 처리 코어와 (b) 4개의 처리 코어에 대해 60%의 병렬 구성요소를 가진 응용 프로그램의 속도 향상 이득을 계산하라.암달의 법칙 1/{S+(1-S)/N)} (코어 1개일땐 항상 1)60%의 병렬 구성요소이므로 S=0.4N=2일때 10/7 = 1.43N=4일때 20/11 = 1.824.3 4.1절에 설명된 다중 ..
운영체제 5장 연습문제 풀이Operating system concepts 10th ed chapter 5 solution5.1 CPU 스케줄링 알고리즘은 스케줄 된 프로세스의 실행 순서를 결정한다. 하나의 프로세서에게 n개의 프로세스를 스케줄 하면 몇 개의 다른 스케줄이 가능한가? n에 대한 공식을 제시하라.$n!$5.2 선점 스케줄링과 비선점 스케줄링의 차의점을 설명하라.선점 스케줄링은 OS가 프로세스에게 할당 중인 cpu를 강제로 회수하여 다른 프로세스에게 할당할 수 있다.비선점 스케줄링은 프로세스가 스스로 cpu를 반납하거나 종료될때까지 OS가 개입하지 않는다.5.3 표시된 시간에 다음 프로세스가 도착한다고 가정하자. 각 프로세스는 나열된 시간 동안 실행된다. 질문에 답할 때, 비선점 스케줄링을 사..
얼마전부터 깃허브 로그인을 하려면 토큰을 발급받아서 비밀번호 대신 토큰을 입력해야 로그인할 수 있게 바뀐거같다.그래서 메모장에 붙여넣고 복붙에서 쓰다가 왜 이러고잇지?라는 생각이 들었다.터미널에서 gitpw라는 명령어를 치면 토큰이 복사되게 하면 좋을 거 같다는 생각이 들어서 젬민이한테 만들어달라 했다.이런 기능을 구현하기 위해선 xorg 환경에선 xclip, wayland 환경에선 wl-clipboard라는 패키지가 필요하다고 한다. 따로 깔기 매우 귀찮으니까 같이 설치되도록 스크립트안에 넣어놨다.설치 스크립트는 다음과 같다.#!/bin/bash# 1. Install dependenciessudo apt update && sudo apt install -y xclip wl-clipboard# 2. Cr..
1. 컴퓨터 시스템 개요컴퓨터 시스템의 하드웨어 구성 요소가 아닌 것은? 운영체제(OS)데이터를 계산하는 역할을 하는 하드웨어 구성 요소는? 프로세서(CPU)프로세서의 핵심 구성 요소가 아닌 것은? 디스크 드라이브데이터 처리 및 연산 결과를 일시 저장하는 프로세서 내부 장치는? 레지스터전원이 꺼지면 내용이 사라지는 휘발성 메모리는? 주기억장치(RAM)메모리 계층 구조에서 속도가 가장 빠른 메모리는? 레지스터시스템 버스의 역할이 아닌 것은? 메모리 관리시스템 버스의 종류가 아닌 것은? 전원 버스대표적인 출력 장치에 해당하는 것은? 모니터컴퓨터 시스템의 기능을 확장하기 위해 연결하는 장치는? 주변 장치데이터를 영구적으로 보관하기 위해 사용하는 용량이 큰 장치는? 보조기억장치(SSD/HDD)프로세서의 산술 및..
import sysinput= sys.stdin.readlinen=int(input()) def cal(q,x): c=q[0] n=int(q[1]) if c=='+': return x+n elif c=='-': return x-n elif c=='*': return x*n else: return x//n #case0 은 건너뛰지 x, case1은 건너뛰었을때case0=1case1=1 jump=Falsefor _ in range(n): a,b=input().split() if jump==False: case1=max(case0, cal(a,case1), cal(b,case1)) #이전case1..
def solution(s): t=0 for c in s: if c=='(': t+=1 else: if t==0: return False else: t-=1 if t!=0: return False return True 스택/큐로 분류되어있지만 안쓰고 풀었다.... 변수 t를 만든다(가 추가되는 만큼 +1 해준다)가 추가되면 -1 해준다(보다 )의 갯수가 많아지면 바로 return False마지막엔 둘다 갯수가 똑같아야하므로 t가 0이여야한다
import sysinput=sys.stdin.readlinet=int(input())arr=list(map(int,input().split()))out=''for i in arr: ans=f'1 {i} 1 10' print(ans) kcpc예비소집 가서 풀고 온 문제다.일단 풀이는 위와 같다.숏코딩으로 한줄로도 쓸 수 있는 간단한 문제였다 풀이:일단 n=1, a=1, b=10 이라고 하자.행렬의 크기는 1*x 이다. i행 j열의 원소가 ai+bj mod10인데 i행이 0부터 시작하고 b는 10이므로 결국 모든 원소가 0이다. 0, 0, 0, 0, 0, 0, ,....0이 m개 만큼 있는것이다여기서 직사각형들 중 직사각형 안의 숫자가 모두 다른 직사각형 = 칸 하나짜리로 해도됨그러니까, m을 ..