본문 바로가기

분류 전체보기83

[운영체제/OS] 메모리 관리 기법 메모리 관리 기법 ('반배할교'로 암기!) 1) 반입 기법 2) 배치 기법 3) 할당 기법 4) 교체 기법 반입기법 - 주기억장치에 적재할 다음 프로세스의 반입 시기를 결정하는 기법 - 메모리로 적재 시기 결정 (when) - 세부기법 : 요구반입 기법, 호출반입 기법 배치기법 - 디스크에 있는 프로세스를 주기억장치의 어느 위치에 저장할 것인지 결정하는 기법 - 메모리 적재 위치 결정 (where) - 세부기법 : 최초 적합(First-fit), 최적 적합(Best-fit), 최악 적합(Worst-fit) 할당기법 - 실행해야 할 프로세스를 주기억장치에 어떤 방법으로 할당할 것인지 결정하는 기법 - 메모리 적재 방법 결정 (how) - 세부기법 : 연속할당 기법, 분산할당 기법 교체기법 - 재배치 기법으.. 2021. 4. 3.
[운영체제/OS] 운영체제 핵심 기능 운영체제 핵심 기능 - 중앙처리장치, 메모리, 스토리지, 주변 기기 등을 적절히 관리 - 초기에는 메모리 용량에 제한이 많아, 소프트웨어 개발 시 메모리 관리가 매우 중요했음 - 하지만 최근에 들어서는 운영체제에서 대부분 자동으로 관리해줌! -> 사용이 편리해짐 - 개발 및 시스템 환경이 클라우드화되면서, 자원에 대한 관리 노력이 줄었음! 핵심 기능 설명 메모리 관리 - 프로그램의 실행이 종료될 때까지, 메모리를 가용한 상태로 유지 및 관리하는 기능 - 프로그램 실행 중 메모리가 꽉 차게 되면, 시스템의 속도가 느려지고 시스템이 멈추는 현상이 발생 - 메모리에 있는 프로그램은 CPU로 이동하여 처리 - (CPU는 가상주소, 메모리는 물리주소를 사용하는데 MMU가 주소를 매핑하는 역할 수행) 프로세스 관리.. 2021. 4. 3.
[운영체제/OS] 운영체제의 개념과 종류 운영체제(OS : Operating System)의 개념 - 운영체제는 사용자가 컴퓨터의 하드웨어를 쉽게 사용할 수 있도록 인터페이스를 제공해주는 소프트웨어이다. - 운영체제는 한정된 시스템 자원을 효과적으로 사용할 수 있도록 관리 및 운영함으로써, 사용자에게 편리성을 제공한다. - 운영체제는 컴퓨터 시스템과 사용자 간의 인터페이스 기능을 담당한다. 운영체제의 종류 1) 윈도우즈(Windows) 운영체제 2) 유닉스(Unix) 운영체제 윈도즈(Windows) 운영체제 - MS-DOS의 멀티태스킹 기능과 GUI 환경을 제공하는 응용 프로그램으로서, 마이크로소프트사가 개발한 운영체제 - 윈도즈 95를 발표한 이후에 98, ME, XP, 7, 8, 10 등의 버전으로 지속적으로 출시 특징 특징 설명 GUI 제.. 2021. 4. 2.
[시큐어 코딩 가이드] 보안 약점 - 입력데이터 검증 및 표현 입력데이터 검증 및 표현 - 프로그램 입력값에 대한 검증 누락, 부적절한 검증, 데이터의 잘못된 형식 지정 등으로 인해 발생하는 보안 약점 - 대표적으로 SQL 삽입(Injection), 크로스 사이트 스트립트(XSS) 등의 공격이 있다. 주요 공격 보안 약점 대응 방안 SQL 삽입 - 사용자의 입력값 등 외부 입력값이, SQL 쿼리에 삽입되어 공격 - PreparedStatement 객체 등을 이용 - DB에 컴파일된 쿼리문(상수)을 전달 크로스 사이트 스트립트 (XSS) - 검증되지 않은 외부 입력값에 의해, 브라우저에서 악의적인 코드 실행 - 입/출력값에 스크립트가 삽입되지 못하도록, & " ' / ( ) 등에 대해 문자열 치환 함수 사용 경로 조작 및 자원 삽입 - 외부 입력된 값의 사전 .. 2021. 4. 1.
[SW개발 보안] 시큐어 코딩 가이드 SW개발 보안 구현 - 시큐어 코딩 가이드 - 설계 및 구현 단계에서 해킹 등의 공격을 유발할 가능성이 있는 잠재적인 보안 취약점을 사전에 제거하고, 외부 공격으로부터 안전한 소프트웨어를 개발하는 기법 (잠재적인 보안 취약점 사전 제거, 안전한 소프트웨어 개발 목적) - 소프트웨어 보안 약점을 방지하기 위해, 시큐어 코딩 가이드에 따른 개발 수행 필요! 보안 약점 1) 입력데이터 검증 및 표현 내용 대응방안 - 프로그램 입력값에 대한 검증 누락 - 부적절한 검증 - 잘못된 형식 지정 - 사용자/프로그램 입력데이터에 대한 유효성 검증체계 수립 - 실패 시 처리 설계 및 구현 2) 보안 기능 - 보안 기능(인증, 접근제어, 기밀성, 암호화, 권한관리 등) 의 부적절한 구현 - 인증, 접근통제, 권한 관리, .. 2021. 4. 1.
[프로그래머스/C++] K번째 수 문제 정의 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다. 예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면 array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다. 1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다. 2에서 나온 배열의 3번째 숫자는 5입니다. 배열 array, [i, j, k]를 원소로 가진 2차원 배열 commands가 매개변수로 주어질 때, commands의 모든 원소에 대해 앞서 설명한 연산을 적용했을 때 나온 결과를 배열에 담아 return 하도록 solution 함수를 작성해주세요. 제한사항 array의 길이는 1 이상 100 이하입니다. a.. 2021. 3. 30.