S4NGJI
close
프로필 배경
프로필 로고

S4NGJI

  • 분류 전체보기 (80)
    • Security (13)
      • Reversing (8)
      • Write-up (3)
      • Other (2)
    • Computer Scienc.. (44)
      • Data Structure .. (16)
      • Operating Syste.. (13)
      • Discrete Mathem.. (13)
      • Computer Archit.. (2)
    • Challenge (0)
      • One Day One Sol.. (0)
      • One Day One Pap.. (0)
    • Problem Solving (14)
      • C++ (12)
      • Python (2)
    • 기타 (9)
      • 보안소식 (9)
  • Reversing
  • C++ 백준
  • 알고리즘
  • 운영체제
  • 컴퓨터구조
  • 이산수학
  • 방명록
[운영체제] 교착상태

[운영체제] 교착상태

교착상태 문제 제기 1) 실생활에서 발생하는 교착상태 밥을 먹기 위해 숟가락, 젓가락 모두 필요한 상황에서 한 사람은 숟가락을 다른 한 사람은 젓가락을 소유할 경우 숟가락이나 젓가락을 사용할 수 있을 때까지 대기 → 무한 대기 발생 교착 상태 : 자원을 소유한 채, 모두 상대방이 소유한 자원을 기다리면서 무한 대기 2) 식사하는 철학자 문제 5명의 철학자가 원탁에서 식사, 식사 시간은 서로 다름 자리마다 스파게티 1개와 양 옆에 포크가 있으며 각 철학자는 옆 철학자와 대화 불가능 식사를 하기 위해서는 양 손에 포크가 동시에 들려 있어야하며 왼쪽 포크를들고 다음 오른쪽 포크를 드는 순서 포크가 사용 중일 경우 대기 → 모든 철학자가 동시에 같이 자리에 앉아 식사를 할 경우 모두 왼쪽에 포크를 들어 무한 대..

  • format_list_bulleted Computer Science/Operating System
  • · 2023. 7. 17.
  • textsms
[운영체제] 스레드 동기화

[운영체제] 스레드 동기화

스레드 동기화의 필요성 1) 동기화의 필요성 다수의 스레드가 동시에 공유 데이터 접근 → 공유데이터의 훼손 스레드 동기화 (thread synchronization) 공유데이터에 대한 다수의 스레드가 동시에 접근할 때 공유데이터가 훼손되는 문제의 해결책 공유데이터를 집근하고자 하는 다수의 스레드가 충돌없이 공유데이터에 접근하기 위해 상호 협력하는 것 2) 공유데이터 접근 문제의 해결책 여러 스레드가 공유 변수에 접근할 때, 공유 데이터 훼손 스레드 동기화 → 한 스레드가 공유데이터의 접근을 마칠 때까지 → 다른 스레드가 공유데이터를 접근하지 못하도록 제어 멀티 스레드의 경쟁 상황이 자주 발생 → 커널 안의 공유 데이터가 많아 자주 발생, 다중 코어에 더욱 조심해야함 3) 임계 구역과 상호 배제 #1 임계..

  • format_list_bulleted Computer Science/Operating System
  • · 2023. 7. 16.
  • textsms
리버싱 / 악성코드 분석을 위한 Windows 10 Defender 비활성화

리버싱 / 악성코드 분석을 위한 Windows 10 Defender 비활성화

Windows 10 Defender Windows 10에 디폴트로 설치되어 있는 보안 소프트웨어입니다. PC의 상태를 실시간으로 감시하고, 바이러스나 스파이웨어와 같은 악의적인 소프트웨어를 검출하거나 삭제하기 위한 용도로 설치되어있습니다. 따라서 defender를 비활성화하면, 바이러스나 스파이웨어에 의한 OS의 파괴나 정보 누출 위험에 노출되게 됩니다. 검색 창에 [Windows 보안] 실행 왼쪽 카테고리에서 [바이러스 및 위협 방지 설정] 클릭 해당 옵션 중 **[실시간 보호] , [클라우드 전송 보호]**를 끔으로 설정 해당 옵션을 끄게되면 보안에 있어 여러 가지 취약점이 있을 수 있으므로 유의하여 사용!! Window의 보안 정책 상 해당 보호는 완전히 끄는 것은 추천하지 않음

  • format_list_bulleted Security/Reversing
  • · 2023. 7. 11.
  • textsms
First Come First Served (FCFS) 구현

First Come First Served (FCFS) 구현

First Come First Served #1 입력 첫째 줄 : 입력 받을 스레드 개수 각 스레드 별 입력 데이터 첫 번째 - 스레드 번호 두 번째 - 도착 시간 세 번째 - CPU 사용 시간 입력 예제 4 0 0 40 1 10 25 2 20 30 3 25 5 #2 출력 각 스레드의 대기시간과 완료시간 출력 출력 예제 0 40 30 65 45 95 70 100 #3 구현 #include #include #include using namespace std; struct thr { int num; // 스레드 번호 int start_t; // 스레드 도착 시간 int run; // CPU 사용시간 }; int n; // 입력받을 스레드 개수 저장 vector v; // 대기시간, 완료시간 저장 벡터 que..

  • format_list_bulleted Computer Science/Operating System
  • · 2023. 7. 11.
  • textsms
[운영체제] CPU 스케줄링

[운영체제] CPU 스케줄링

CPU 스케줄링 개요 1) 운영체제에서 일어나는 스케줄링 #1 자원에 대한 스케줄링 자원에 대한 경쟁이 있는 컴퓨터 시스템 여러 곳에서 발생 #2 다양한 스케줄링 작업 스케줄링 : 대기 중인 배치 작업 중 어떤 작업을 메모리에 적재할지 CPU 스케줄링 : 프로세스/스레드 중에 하난를 선택하여 CPU를 할당하는 스케줄링 디스크 스케줄링 : 디스크 장치 내에서 디스크 입출력 요청 중 하나를 선택 프린터 스케줄링 : 프린팅 작업 중 하나를 선택하여 프린터 할당 2) 다중프로그래밍과 스케줄링 CPU의 유휴시간을 줄이기 → CPU 활용률 향사어 작업 스케줄링과 CPU 스케줄링 도입 3) CPU burst I/O burst cpu burst : 프로그램 실행 중 cpu 연산이 연속적으로 실행하는 상황 I/O bur..

  • format_list_bulleted Computer Science/Operating System
  • · 2023. 7. 11.
  • textsms
7576번 - 토마토

7576번 - 토마토

문제 입출력 풀이 너비 우선 탐색을 통해 최소 날짜 구하기 입력받은 토마토에서 익지 않는 것이 있을 경우 -1 출력 입력받은 토마토가 이미 모두 익어있으면 0 출력 → -1이 입력되면 이미 방문한것으로 취급하여 너비 우선 탐색 진행 #include #include using namespace std; const int MAX = 1001; int M, N; // 가로 세로 int map[MAX][MAX]; // 최단 거리 저장 bool visit[MAX][MAX]; // 방문했는지 확인 int input[MAX][MAX]; // 처음 입력받는 토마토 상태 int dy[] = { 1,-1,0,0 }; int dx[] = { 0,0,1,-1 }; queue q; void BFS() { while (!q.em..

  • format_list_bulleted Problem Solving/C++
  • · 2023. 7. 10.
  • textsms
[운영체제] 스레드와 멀티스레딩

[운영체제] 스레드와 멀티스레딩

프로세스의 문제점 1) 프로세스를 다루는 문제점 프로세스 생성의 큰 오버헤드 발생 ← 프로세스를 위한 메모리 할당 프로세스 컨텍스트 스위칭의 큰 오버헤드 ← cpu가 참고할 매핑 테이블 전환에 따른 지연 프로세스 사이의 통신 어려움 ← 프로세스들은 완전한 독립적인 주소 공간을 소유 스레드 개념 1) 스레드 출현 목적 프로세스보다 더 작은 실행 단위의 필요성 프로세스 생성 및 소멸에 따른 오버헤드의 감소 필요 빠른 컨텍스트 스위칭 필요 프로세스의 복잡한 통신, 느린 실행 속도, 코딩의 어려움 해소 2) 스레드 개념 #1 스레드는 실행, 스케줄링 단위 스레드는 개발자에게 작업을 만드는 단위, 운영체제에는 실행 단위, cpu를 할당하는 스케줄링 단위 코드, 데이터, 힙, 스택을 가진 실체 스레드마다 정보를 저..

  • format_list_bulleted Computer Science/Operating System
  • · 2023. 7. 10.
  • textsms
[운영체제] 프로세스와 프로세스 관리

[운영체제] 프로세스와 프로세스 관리

프로세스 개요 1) 프로세스 프로그램: 하드디스크 등의 저장 매체에 저장되며 실행 파일의 형태를 가짐 #1 프로세스 프로그램이 메모리에 적재되어 실행 중인 상태 필요한 모든 자원을 할당 ( 코드공간, 데이터공간, 힙공간, 스택공간 ) #2 프로세스의 특징 운영체제는 프로그램을 메모리 적재하고 프로세스로 다룸 운영체제는 프로세스에 필요한 메모리를 할당 프로세스는 서로 독립적인 메모리 공간을 가짐 커널은 각 프로세스의 메모리 위치와 크기 정보를 관리 커널은 프로세스마다 고유한 번호 (PID) 할당 프로세스의 정보는 커널이 관리 프로세스는 실행-대기-잠자기-대기-실행-종료 등의 생명 주기 프로세스 생성, 대기, 종료 등의 관리는 모두 커널에 의해 수행 #3 프로세스 관리 프로세서의 생성에서 종료까지 관리는 모..

  • format_list_bulleted Computer Science/Operating System
  • · 2023. 7. 9.
  • textsms
PE File Format Advance

PE File Format Advance

0. 들어가며 PE (Portable Executable) 파일은 Windows 운영체제에 사용되는 실행파일 형식 32비트의 경우 PE32 / 64비트의 경우 PE+ 혹은 PE32+ 라고부르며 PE파일의 확장 형태 1. PE File Format 1) PE 파일 종류 종류 주요 확장자 실행 계열 EXE, SCR 라이브러리 계열 DLL, OCX, CPL, DRV 드라이버 계열 SYS, VXD 오브젝트 파일 계열 OBJ OBJ 파일을 제외한 모든 것은 실행 가능한 파일 DLL, SYS는 쉘에서 직접 실행은 불가능하지만 다른 형태의 방법으로 실행 가능 (1) 기본 구조 메모장은 일반적인 pe파일의 기본구조로 구성 Dos header부터 Section header 까지 = PE 헤더 그 밑 부분의 Section..

  • format_list_bulleted Security/Reversing
  • · 2023. 7. 8.
  • textsms
[운영체제] 컴퓨터 시스템과 운영체제

[운영체제] 컴퓨터 시스템과 운영체제

1. 컴퓨터 시스템과 하드웨어 1) 컴퓨터 시스템 계층 구조 응용 소프트웨어 - 운영체제 - 컴퓨터 하드웨어 계층 구조의 특징 사용자는 응용프로그램을 통해 컴퓨터 활용 하드웨어는 모두 운영체제의 배타적 독점적 지배를 받음 사용자나 응용프로그램의 하드웨어 직접 접근 불허 사용자가 하드웨어에 대해 몰라도 컴퓨터 사용 가능 2) 컴퓨터 하드웨어 (1) CPU 프로그램 코드, 기계명령을 해석하여 실행하는 중앙처리장치 컴퓨터의 가장 핵심으로 전원 공급시 동작하며 메모리에 적재된 프로그램 실행 (2) 메모리 cpu에 의해 실행되는 프로그램 코드와 데이터가 적재되는 공간 실행되기 위해 반드시 메모리에 적재되어야 함 (3) 캐시 메모리 cpu 처리속도의 빠른 발전으로 대기시간 증가 → 캐시 메모리로 cpu 실행 속도를..

  • format_list_bulleted Computer Science/Operating System
  • · 2023. 7. 8.
  • textsms
  • navigate_before
  • 1
  • ···
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • navigate_next
인기 글
전체 카테고리
  • 분류 전체보기 (80)
    • Security (13)
      • Reversing (8)
      • Write-up (3)
      • Other (2)
    • Computer Scienc.. (44)
      • Data Structure .. (16)
      • Operating Syste.. (13)
      • Discrete Mathem.. (13)
      • Computer Archit.. (2)
    • Challenge (0)
      • One Day One Sol.. (0)
      • One Day One Pap.. (0)
    • Problem Solving (14)
      • C++ (12)
      • Python (2)
    • 기타 (9)
      • 보안소식 (9)
태그
  • #이진 변환
  • #알고리즘
  • #파이썬
  • #프로그래머스
  • #최단 경로 구하기
  • #MST
  • #C++
  • #정렬
  • #Python
  • #그리디 알고리즘
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바