정보) 컴퓨터공학과 과목 맛보기 - 2. 시스템프로그래밍(2)
자 이전 글과 같이 비트로 몇 주 동안 씨름을 하다보면
어셈블리어(Assembly)가 여러분을 맞이합니다! 산 넘어 산
어셈블리어가 뭐냐? 라고 물으시면
우리가 많이 쓰는 C, 자바 등의 언어는 대부 고급 언어입니다.
이를 사용하는 사람은 C 코드가 무슨 뜻인지 읽을 수 있지만,
컴퓨터에게는 그냥 텍스트 쪼가리일 뿐이에요.
그럼 이 코드를 컴퓨터가 알아먹을 수 있게 바꿔주는 과정이 필요하겠죠?
C 코드는 전처리기, 컴파일러, 어셈블러, 링커를 거쳐 컴퓨터가 읽을 수 있는 프로그램이 됩니다.
근데 왜 이 중에 어셈블리어냐? 이것도 이유가 있죠.
어셈블리어는 기계어와 일대일 대응이 되는 저급 언어로,
이 단계는 사람이 어느 정도 읽고 해석할 수가 있기 때문이죠!
(이 이후는 10100101010111... 과 같은 진짜 그냥 비트입니다.)
컴퓨터가 우리가 쓴 코드를 자기가 알아 먹을 수 있는 코드로 어떻게 바꾸는 지를 보기 위해서 배우는 겁니다.
예시 몇 개를 보여드리겠습니다.
1. 간단한 swap 함수
2. 간단한 비교 함수
3. 간단한 재귀 함수
이렇게 나머지 반 학기 동안 어셈블리어와 씨름을 합니다.
C언어를 어셈블리어로, 어셈블리어를 C언어로 왔다갔다할 수 있는 능력이 생깁니다.
-------------------------------------------
저는 이 과목 들으면서 이론보다는 과제가 더 재밌었는데요.
교수님이 보안랩을 운영하셔서 그런지 해킹을 찍먹해볼 수 있는 과제를 주셨었습니다.
리버스 엔지니어링이라고 부르는데요,
남이 만들어 놓은 프로그램의 결과만을 보고 코드를 역으로 유추하는 걸 말합니다.
Bomblab이라고 말 그대로 폭탄을 해체하는 과제였는데요..
이건 위에서 배운 어셈블리어를 이용하는 과제입니다.
과제에서는 이미 기계어로 번역돼 코드를 읽을 수 없는 프로그램만 주어집니다.
디버거를 이용하면 기계어 프로그램을 어셈블리어로 바꿀 수 있는데요.
이 어셈블리어로 번역된 것만을 가지고 원래 C 코드가 어떤 코드였을지 유추하여
각 스테이지마다 폭탄 해제에 맞는 답이 무엇인지 알아가는 과제입니다.
답이 틀려서 폭탄이 터지면 감점!
위는 제가 냈던 답안 중 일부인데, 페이즈2라서 이건 쉬운 편입니다.
점화식이라 오르비언들이 이해가 편하겠군요.
페이즈5인데, 무슨 소리인가 싶죠..? ㅋㅋㅋ
페이즈 6개 + 히든 페이즈 1개 = 총 7개의 퀴즈를 풀어내는 과제였습니다.
#1이 1등이라는 뜻이었나..? 기억은 잘 안 나지만 빨리 풀긴 했었습니다.
-------------------------------------------
이걸 보시면 느끼시겠지만..
프로그래밍 수업 과제는 이게 도대체 언제 끝날지 감도 안 잡히는 과제가 많습니다.
과제는 제때제때! 하시길 바랍니다.
이렇게 한 학기를 이겨내시면 여러분들은 컴퓨터구조와 운영체제를 들을 수 있게 됩니다!
오늘은 복전생들의 무덤, 시스템프로그래밍 과목을 살펴봤습니다.
곧 다시 돌아오겠습니다.
제가 적은 글 (클릭하면 연결)
3. 컴퓨터공학과 과목 맛보기 - 2. 시스템프로그래밍(1)
(현재 글) 4. 컴퓨터공학과 과목 맛보기 - 2. 시스템프로그래밍(2)
0 XDK (+0)
유익한 글을 읽었다면 작성자에게 XDK를 선물하세요.
-
찍맞없고 오히려 실수로 1개 틀렸는데 실력 오른거 맞겠죠?.... 높2가 목표인데 제발 ㅜ
-
체크메이트 언매 강의를 수강하려는데 매주 하루에 3강을 연달아 수강하는...
-
사문 일반사회지만 필수로 껴야할거같고 나머지 하나는 뭔가 재밋을거같은 한지...
-
교과서 수특,수완 각각 10회독씩 하고 기출 10개년 10회독씩 하고 뉴런,시발점...
-
2, 3등급 맞고 싶어요. 현 국2 영1 수3 정법1임.. 지금까지 놀았음..
-
동산동능ㅁㅌㅇ 2
동산동능유링게슝
-
작6 42232 작9 22242 작수 22222 더프 무보정/보정 3월...
-
나만 4등급 버러지네 하
-
윤리 과목은 첨보는 선지여도 해설 보면 결국 개념 기반 추론 가능한거라 아 그래…...
-
분명 마무리 과정인데도 불구하고 내가 스스로 느끼기에 실력이 오르는 거 같아 마음...
-
염색하고 싶다 6
레인보우 염색 해보고싶네
-
[Web발신]...
-
사문도대체왜 0
강k쳐도 40 초중반은 나오다가 더프만 보면 3n으로 꼬라박는건데 왜그럴까요 강k에 절여졌나
-
군수생 달린다 9
수고햇다나자신
-
. 6
-
용량 늘여줘 ㅈㅂ
-
난 귀여웡 3
-
온 세상이 기만이다 14
세상이 밉구나...
-
선분 OB의 중점을 C라고 잡았다고 문제에서 주길래 삼각형OCP를 한변의 길이가...
-
고1 내용 진짜 다 까먹어서 원과 직선이 만난다-->이런조건도 바로 해석이 안됨...
-
1회는 많이 못 봐서 점수계산을 안 했는데(틀린 개수 보면 대충 80점 전후)...
-
ㅇ
-
고1이고 모고 2등급 후 떠요 영어 고정 1뜨고 싶은데 강사님 추천해주세요 글고...
-
국어는 평소대로 운지했고 수학도 좀 아쉽긴 하지만... 영어는 다행히 꾸준히 2등급...
-
수학 9모84 10모 76 정도 뜨는데 이제 뭐해야할지 모르겠어요..ㅠㅠ
-
생명공동체의 구성원은 모두 내재적 가치를 지니는것 레오폴드도 내재적가치가진다거...
-
한 챕터당 20문제라 치면 15문젠 다 맞는데 나머지 마지막 5문제는 못풀정도로...
-
라노벨이 수능 국어 성적에 유의미한 영향이 있을까요 8
흥미로운 주제네요
-
덕코주실분 8
고마워요
-
D-23 궝부 1
아수라 총정리 김승리모의고사 Breaktrough 위속가ㅜ특강 킥오프...
-
알바하면서 공부할건데요 13
1년동안 알바하면서 공부할거면 1주일 마다 얼마씩정도 벌어야...
-
너무사는게힘들고지침 체력도너무딸리고 정신력도너무고갈됨
-
시발점 스탬 1,2 난이도가 각각 어케될까요? 감사합니다
-
규모의 경제 생각해봐도 더프보다 이감구매자가 더많아서 이감이 얻는 이익이 훨씬...
-
수국김 수강하고 마더텅 돌리고 빨리 일클래스 넘어가고 싶은데 현재 강기본 반정도...
-
더프 해설 강의 듣는데 되게 커엽게 생기심
-
언매:93 미적:77 영어:2 정법:42 사문:50
-
주변에 이름 강민철인 사람 강평 드립 많이 듣나요? 2
강민철 그래도 은근 있을 이름인데
-
화 84 미 92 영 77 사문 36 지구 47 중앙대 ㄱㄴ?
-
난이도가 어땠니 논의가 무색할 정도로 국어 수학 다 절대적인 관점에서 무난했음....
-
정법 사문 < 고정 1 만들 수 있는 과목인가요? 32
국어 못해서 그냥 사문 한지 할까 했다가 그냥 정법 사문 하려는데 열심히 하면 고정...
-
안녕하세요 9
가입한 진 좀 됐는데 수험 질문 물어볼 곳 추천받고 들어왔어요 잘 부탁합니다
-
재수생 10덮 4
언매 85점 (독서 -3 , 문학-10 , 문법-2) 미적 96점 (30번틀 ,...
-
솔직히 1등급까진 만들어줄 자신은 있는데 화1이 약간 쓰레기 과목이 되는 추세라...
-
ㄹㅇ로 슬펑
-
10월더프 6
언미영물지 83 88 78 46 50 영어 9덮때 1등급이였는데... 2등급이라도...
-
겨울부터 고고할까
-
언매 미적 사문 지구 92 76 47 37 영어는 1
-
일단 심리적 압박감이 너무 큰 거 같아요.. 실전에선 글이 잘 읽히지도 않고...
-
현재 서성한 공학 재학중인 학생입니다. 공군 와서 메디컬 가볼려고 도전중입니다....
나는 컴사코도 쉽지않던데
컴사코 ㅈ됐으면 7ㅐ추
컴공 진짜 평생 절대공부안함...
츄라이 츄라이
제가 진짜 컴공 '구경' 하다가 깨달은건데
이거 공부할바엔 영어공부해서 usmle 일찍 붙는게 압도적으로 저한테 맞음...
수능 수학도 잘 못한 저한테 컴공은 진짜아님ㅋㅋㅋㅋㅋ
역시 공대는 '안' 간게 아니고 '못' 간거다 ㅋㅋㅋ
아니 가면 '안' 된다 ㅋㅋㅋㅋㅋ
이 글 보고 사람들 도망가는거 아님?
안 도망간 사람은 컴공에 맞는 사람일테니 이게 곧 진정한 인재의 선발 과정이네요...
벌써 머리가 아프네..
수업 듣고 해보면 별거 아니긴 해요
저거 말고도 리버싱 과제 1개 더 있었는데..
그건 각자 학번 가지고 푸는거라 여기 적을 수가 없네요
ㄱ ㅏㅣ ㅊ ㅜ
이 수업 듣고 보안은 천재들이 하는거구나 했었네요
저는 컴구, 시프 찍먹할 때 Low level 하는 사람들이 다시 보이게 됐던..
근데 서울대 시프가 다른 학교랑 좀 다른가봐요
저희는 컴구 - 시프고 컴구 모르고 하면 정말 많이 힘들다고 하더라고요
학교마다 '시프'라는 과목은 다 있는데 이게 뭐가 뭔지 모르겠더라고요
컴구, 운체는 분명 똑같은거 배우는게 맞는데..
머리가 아파요
정상입니다 휴먼
저희는 리눅스 커널 뜯고 아얘 코드 단에서 os 다시배우는 느낌이라 4천단위에요 시프가
사실 os는 개론이기는 하죠 실제로 특정 os에 대한 내용을 다룬다기보다는..
그렇죠 OS가 어떤 역할을 하고.. 뭐 이런 내용이죠
-
wtf
어지러운데재밌다
이게컴공?
밤랩특 -> 가장쉬움
csapp 하시나요
요즘 근데 느끼는건데 존나쓸모없는거같아요.. 그냥 자퇴가 답이다
아고 그래도 졸업은 하셔야..